ASP.NET login控件

来源:互联网 发布:软件问题跟踪表 编辑:程序博客网 时间:2024/05/01 08:19

asp.net Login控件基本属性及事件说明:

Login系列控件是微软为了简化我们的开发过程,为我们进行常规的安全开发提供块捷途径。
Login系列控件包含下列控件:


Login 登录控件
LoginName 用于显示用户名的控件
LoginStatus 根据用户的登录状态显示不同的信息(登录,注销)
LoginView 根据登录状态的不同显示不同的模板
CreateUserWizard 提供了一个注册用户账号的向导模板
ChangePassword 更改密码
PasswordRecovery 当忘记密码的时候用于取回密码
以上几种控件的底层都与MembershipApi集成的,这几种控件之间是相互独立的,可以单独使用也可以搭配成一个较完整的安全管理。
Login控件:
登录界面,包含“用户名”、“密码”和登录按钮。
属性:
DestinationPageUrl 用户登录成功后转高的网页
FailureAction 登录失败进行的操作,Refresh和RedirectToLoginPage两种操作
RememberMeSet 设置“记住我”复选控。
CreateUserUrl 注册用户帐号的页面
HelpPageUrl 说明页面的URL
PasswordRecoveryUrl 密码恢复页面的URL

Login控件提供了一系列的预定义的样式,可以从“智能菜单”中点击“自动套用格式...”进行选择。也可以选择“转换为模板”,自己设置要显示的样式。
当你输入用户名和密码进行登录的时候,登录控件会自动去数据库中验证输入的用户名和密码。
自定义Authentication事件处理:
Login控件底层会使用Membership.Validate()和FormsAuthentication.RedirectFromLogin()方法进行验证,但有的时候我们己经有了现成的用户帐号和数据库的话,那如何做登录?
using System.Data;


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;


public partial class 登陆 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {


    }


    protected void Login1_Authenticate1(object sender, AuthenticateEventArgs e)
    {
        MySqlConnection mysqlconn = Conn.createCon();
        mysqlconn.Open();


        string mysqlcommandstring =
        "select count(*) from login where username = @u and password = @p";


        MySqlCommand mysqlcommand = new MySqlCommand(mysqlcommandstring, mysqlconn);


        MySqlParameter param;
        param = new MySqlParameter("@u", Login1.UserName);
        mysqlcommand.Parameters.Add(param);
        param = new MySqlParameter("@p", Login1.Password);
        mysqlcommand.Parameters.Add(param);


        int n = Convert.ToInt32(mysqlcommand.ExecuteScalar().ToString());
        mysqlconn.Close();
        if (n > 0)
            e.Authenticated = true;
        else
            e.Authenticated = false;
    }
}


0 0
原创粉丝点击