Asp.Net2.0下C#环境 Login控件实现用户登录

原文: Asp.Net2.0下C#环境 Login控件实现用户登录

一、前台显示效果

Asp.Net2.0下C#环境 Login控件实现用户登录

二、前台代码

             < asp:Login  ID ="Login1"  runat ="server"  BackColor ="#F7F7DE"  BorderColor ="#CCCC99"  BorderStyle ="Solid"
                BorderWidth
="1px"  Font-Names ="Verdana"  Font-Size ="10pt"  OnAuthenticate ="Login1_Authenticate" >
                
< TitleTextStyle  BackColor ="#6B696B"  Font-Bold ="True"  ForeColor ="White"   />
                
< LayoutTemplate >
                    
< table  border ="0"  cellpadding ="1"  cellspacing ="0"  style ="border-collapse: collapse" >
                        
< tr >
                            
< td >
                                
< table  border ="0"  cellpadding ="0" >
                                    
< tr >
                                        
< td  align ="center"  colspan ="2"  style ="font-weight: bold; color: white; background-color: #6b696b" >
                                            用户登录
</ td >
                                    
</ tr >
                                    
< tr >
                                        
< td  align ="right" >
                                            
< asp:Label  ID ="UserNameLabel"  runat ="server"  AssociatedControlID ="UserName" > 用户名: </ asp:Label ></ td >
                                        
< td >
                                            
< asp:TextBox  ID ="UserName"  runat ="server"  CssClass ="STYLE1" ></ asp:TextBox >
                                            
< asp:RequiredFieldValidator  ID ="UserNameRequired"  runat ="server"  ControlToValidate ="UserName"
                                                ErrorMessage
="必须填写“用户名”。"  ToolTip ="必须填写“用户名”。"  ValidationGroup ="Login1" > * </ asp:RequiredFieldValidator >
                                        
</ td >
                                    
</ tr >
                                    
< tr >
                                        
< td  align ="right" >
                                            
< asp:Label  ID ="PasswordLabel"  runat ="server"  AssociatedControlID ="Password" > 密码: </ asp:Label ></ td >
                                        
< td >
                                            
< asp:TextBox  ID ="Password"  runat ="server"  TextMode ="Password"  CssClass ="STYLE1" ></ asp:TextBox >
                                            
< asp:RequiredFieldValidator  ID ="PasswordRequired"  runat ="server"  ControlToValidate ="Password"
                                                ErrorMessage
="必须填写“密码”。"  ToolTip ="必须填写“密码”。"  ValidationGroup ="Login1" > * </ asp:RequiredFieldValidator >
                                        
</ td >
                                    
</ tr >
                                    
< tr >
                                        
< td  align ="right" >
                                            
< asp:Label  ID ="Label1"  runat ="server"  AssociatedControlID ="Password" > 验证码: </ asp:Label ></ td >
                                        
< td >
                                            
< asp:TextBox  ID ="GetCode"  runat ="server"   CssClass ="STYLE2" ></ asp:TextBox >
                                            
< asp:RequiredFieldValidator  ID ="RequiredFieldValidator1"  runat ="server"  ControlToValidate ="Password"
                                                ErrorMessage
="必须填写“验证码”。"  ToolTip ="必须填写“验证码”。"  ValidationGroup ="Login1" > * </ asp:RequiredFieldValidator >< asp:Image  ID ="Image1"  runat ="server"  ImageUrl ="~/include/GetValidate.aspx"  ImageAlign ="Top"
                                                                            alt
="看不清?点击更换"  onclick ="this.src=this.src+'?'"   />
                                        
</ td >
                                    
</ tr >
                                    
< tr >
                                        
< td  align ="center"  colspan ="2"  style ="color: red" >
                                            
< asp:Literal  ID ="FailureText"  runat ="server"  EnableViewState ="False" ></ asp:Literal >
                                        
</ td >
                                    
</ tr >
                                    
< tr >
                                        
< td  align ="center"  colspan ="2" >
                                            
< asp:Button  ID ="LoginButton"  runat ="server"  CommandName ="Login"  Text ="登录"  ValidationGroup ="Login1"   /></ td >
                                    
</ tr >
                                
</ table >
                            
</ td >
                        
</ tr >
                    
</ table >
                
</ LayoutTemplate >
            
</ asp:Login >

三、后台代码

protected   void  Login1_Authenticate( object  sender, AuthenticateEventArgs e)
    
{
        TextBox GetCode 
= Login1.FindControl("GetCode"as TextBox;//获取登陆控件中验证码文本框值
        if (Request.Cookies["CheckCode"].Value == null)
        
{
            Response.Write(
@"<script language=JavaScript>{window.alert('您的浏览器设置已被禁用 Cookies,您必须设置浏览器允许使用 Cookies 选项后才能使用本系统!');}</script>");
            
return;
        }

        
else
        
{
            
if (String.Compare(Request.Cookies["CheckCode"].Value, GetCode.Text.ToString().Trim(), true!= 0)
            
{
                Response.Write(
@"<script language=JavaScript>{window.alert('验证码输入不正确!');}</script>");
                
return;
            }

            
string UserLoginID = Login1.UserName.ToString().Trim().Replace("'""").Replace("=""");//得到输入的用户名
            string UserLoginPwd = Login1.Password.ToString().Trim().Replace("'""").Replace("=""");//得到输入的密码
            
//得到md5值
            string md5Pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserLoginPwd, "md5").ToLower();
            
string mySql = "select * from [User] where [sLoginID]='" + UserLoginID + "' and [LoginPWD]='" + md5Pwd + "'";
            
//下面部署自己的逻辑处理,以下仅供参考
            DBConn myDB = new DBConn();
            
try
            
{
                SqlDataReader Rs 
= myDB.getDataReader(mySql);
                
if (!Rs.Read())
                
{
                    e.Authenticated 
= false;//登录不通过
                }

                
else
                
{
                    Session[
"UserLoginID"= UserLoginID;
                    Session[
"UserLoginPwd"= UserLoginPwd;
                    e.Authenticated 
= true;//登录通过
                    Response.Redirect("index.aspx");
                }

            }

            
catch (Exception ex)
            
{
                Response.Write(
"数据库错误,错误原因:" + ex.Message);
                Response.End();
            }


        }

    }

 四、关于验证码可以本Blog的随笔中找到,地址为:

http://www.cnblogs.com/zm235/archive/2006/10/02/520233.html

 

你可能感兴趣的:(asp.net)