登录界面的设计

     一。在使用asp.net的Logig控件设计登陆方案时,如果您想创建自己的身份验证逻辑,则可以处理Login控件的Authenticate事件并添加自定义身份验证代码。

      当用户输入用户名称和密码之后,并单击登陆按钮,将触发事件MyLogin_LoggingIn(object sender,LoginCancelEventArgs e)实现用户登录功能。其中函数SqlDataReader GetUserLogin(string sUserName,string sPassword)根据用户名称和密码从数据库ShoppingDB中获取用户登录信息。

public  SqlDataReader GetUserLogin( string  sUserName, string  sPassword)
{
     SqlConnection myConnection
=new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
     
string cmdText=""select UserID from Users where UserName='"+sUserName.ToString()+"' and Password="'+sPassword.ToString()+'"";
     SqlCommand myCommand=new SqlCommand(cmdText,myConnection)
    
//定义DataReader
   SqlDataReader dr=null;
   
try
   
{
       myConnection.Open();
       dr
=myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    }

   
catch(SqlException ex)
   
{
      
throw new Exception(ex.Message,ex); 
      
//或者用Response.Write(ex.Message+"<br>");
   }

  
   
return dr;
}

 

protected   void  MyLogin_LoggingIn( object  sender,LoginCancelEventArgs e)
{
   SqlDataReader dr
= GetUserLogin(MyLogin.UserName,MyLogin.Password);
   
string sUserID="";
   
if(dr.Read())
   
{
      sUserID
=dr["UserID"].ToString();//获取登录信息
   }

   dr.Close();
   
if(sUserID.Length>0)
   
{//登录成功
     Response.Redirect("~/main.aspx");
   }

}

二。当自行创建登录界面,不用控件时。SqlDataReader GetUserLogin(string sUserName,string sPassword)事件与使用控件是一样,只是点击登录按钮时,多了一些判断代码。

代码如下:

 

protected   void  LoginBtn_Click( object  sender,EventArgs e)
{
    
if(UserName.Text==nullUserName.Text==""||UserName.Text.Length<=0)
    
{
        ShowMessage(
"用户名称为空,请输入用户名称!");
        
return;
    }

   
if(Password.Text==nullPassword.Text==""||Password.Text.Length<=0)
    
{
        ShowMessage(
"用户密码为空,请输入用户密码!");
        
return;
     }

    
string userId="";
    
//定义类并获取用户的登录信息
    SqlDataReader recu=GetUserLogin(UserName.Text.Trim(),Password.Text.Trim());
    
//判断用户是否合法
    if(recu.Read()){userId=recu["UserID"].ToString();}
    recu.Close();
    
//验证用户合法性,并跳转到系统平台
    if((userId!=null)&&(userId!=""))
     
{
         Session[
"UserID"]=userId;
         ShowMessage(
"用户登录成功!!!");
     }

     
else
     
{
         ShowMessage(
"你输入的用户名称/密码有误,请重新输入!");
     }

}



// h函数ShowMessage(string sMsg)向页面显示操作结果信息,它的程序代码如下:
private   void  ShowMessage( string  sMsg)
{
   Response.Write(
"<script>window.alert('"+sMsg+"')</script>");
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值