如何做登陆验证

1、存储过程
None.gifCREATE PROCEDURE sysEmpLogin
None.gif   
@loginid varchar(50),
None.gif   
@password varchar(50),
None.gif   
@empid int output,
None.gif   
@reason varchar(50) output,
None.gif   
@depid int output
None.gif  
None.gif
AS
None.gif         
select EmpID from mrBaseInf where  LoginID = @loginid
None.gif         
if (@@RowCount<1)
None.gif            
begin ----1
None.gif
               set  @reason ='noEmp'
None.gif                
set   @empid=0
None.gif             
end------1
None.gif
         else 
None.gif                
begin  ----2        
None.gif
    
None.gif     
SELECT   EmpID  
None.gif      
FROM mrBaseInf
None.gif             
WHERE (LoginID = @loginidAND (Password = @password )
None.gif                     
if (@@RowCount<1)
None.gif                        
begin -----3
None.gif
                         set  @reason ='pError'
None.gif                          
set   @empid=0
None.gif                         
end-------3
None.gif
                    else
None.gif                                  
begin  ------4
None.gif
                                  SELECT   @empid=EmpID ,@depid=DepID 
None.gif      
FROM mrBaseInf
None.gif     
WHERE (LoginID = @loginidAND (Password = @password and 
None.gif
None.gifAllowLogin
=1)
None.gif                                        
if (@@RowCount<1)
None.gif                          
begin ---------6
None.gif
                            set  @reason ='unAllow'
None.gif                            
set   @empid=0
None.gif                           
end------------6
None.gif
                               else
None.gif                                         
begin -----7
None.gif
                                         set  @reason ='access'
None.gif                                         
end  ----------7
None.gif
                                  end -----4        
None.gif
                end------2
None.gif
 RETURN
None.gif
None.gif 
None.gif
None.gif
None.gif
GO

2、数据层
public String[] Login(String loginid, String password) 
  {    
   String[] CheckLogin;
   SqlConnection myConnection 
= new 

SqlConnection(ConfigurationSettings.AppSettings[
"dsn"]);
   SqlCommand myCommand 
= new SqlCommand("sysEmpLogin", myConnection);
   
   myCommand.CommandType 
= CommandType.StoredProcedure;

   SqlParameter parameterLoginID 
= new SqlParameter("@loginid"

SqlDbType.VarChar,
50);
   parameterLoginID.Value 
= loginid;
   myCommand.Parameters.Add(parameterLoginID);
   SqlParameter parameterPassword 
= new SqlParameter("@password"

SqlDbType.VarChar, 
50);
   parameterPassword.Value 
= password;
   myCommand.Parameters.Add(parameterPassword);
   SqlParameter parameterEmpID 
= new SqlParameter("@empid"

SqlDbType.Int, 
4);
   parameterEmpID.Direction 
= ParameterDirection.Output;
   myCommand.Parameters.Add(parameterEmpID);

   SqlParameter parameterReason 
= new SqlParameter("@reason"

SqlDbType.VarChar,
50);
   parameterReason.Direction 
= ParameterDirection.Output;
   myCommand.Parameters.Add(parameterReason);

   SqlParameter parameterDepID 
= new SqlParameter("@depid"

SqlDbType.Int,
4);
   parameterDepID.Direction 
= ParameterDirection.Output;
   myCommand.Parameters.Add(parameterDepID);

   myConnection.Open();
   myCommand.ExecuteNonQuery();
   myConnection.Close();

   
string LoginID;
   LoginID
=parameterEmpID.Value.ToString();
   
string Result;
   
string depid;
   
if(parameterReason.Value.ToString ()=="access")
   {
    Result
="成功登录";
    depid
=parameterDepID.Value.ToString();
   }
   
else if(parameterReason.Value.ToString ()=="noEmp")
   {
    Result
="用户名错误";
    LoginID
="usererror";
    depid
="-1";
   }
   
else if(parameterReason.Value.ToString ()=="pError")
   {
    Result
="密码错误";
    LoginID
="pwderror";
    depid
="-1";
   }
   
else 
   {
    Result
="帐号被禁用";
    LoginID
="noacount";
    depid
="-1";
   }
   CheckLogin
=new string []
      {
       LoginID,
       Result,
          depid
      };
   
return CheckLogin;

 

  }

3、调用
private void btnlogin_Click(object sender, System.EventArgs e)
  {
   String strLoginID
= username.Text .Trim ();
   String  strPassword 
=password.Text .Trim ();
   
string []str=new string[]{strLoginID,strPassword};
   
if(!new DataBase().CheckParams(str))
   {
                       
    JScript.Alert(
"您输入了非法字符!");
    
return ;
   }
   EmpDB AloginUsr
=new EmpDB();
   
   
string strReason;
   
string strUserID;
   
string strValid;
   
string[] NewLogin;   
   String[] strLoginflag 
=AloginUsr.Login (strLoginID,strPassword);

   

if(strLoginflag[0]=="usererror"||strLoginflag[0]=="pwderror"||strLogin

flag[
0]=="noacount")
   {
    strUserID 
= username.Text .Trim ();
    strValid
= "";
    strReason
=strLoginflag[1];
    NewLogin
=new string []
        {
         strUserID,
         DateTime.Now .ToString (),
         strValid,
         
"",
         Request.UserHostAddress .ToString (),
         strReason
        };
    DbManagerLogininfo myclassfologin
=new DbManagerLogininfo ();
    myclassfologin.insertLoginUser (NewLogin);
    Response.Write(
"<script language=javascript>");
    Response.Write(
"window.alert('");
    Response.Write(strReason);
    Response.Write(
"');");
    Response.Write(
"</script>");
   }
   
else
   {
    Response.Cookies[
"empint"].Value=username.Text;
    Response.Cookies[
"empint"].Expires=DateTime.Now.AddDays(1);   

    strUserID
=username.Text .Trim ();
    strValid
="";
    strReason
="";
    strReason
=strLoginflag[1];
    
    NewLogin
=new string []
        {
         strUserID,
         DateTime.Now .ToString (),
         strValid,
         
"",
         Request.UserHostAddress .ToString (),
         strReason
        };
    DbManagerLogininfo myclassfologin
=new DbManagerLogininfo ();
    myclassfologin.insertLoginUser (NewLogin);
    Session[
"EmpID"]=Int32.Parse(strLoginflag[0]);
    Session[
"username"]=username.Text;
    Session[
"depid"]=strLoginflag[2];
            
       
string tt="qminoa = window.open( '../index.aspx"+"'"  
      

+",'','toolbar=no,menubar=no,titlebar=yes,directories=no,resizable=yes

,status
=yes,fullscreen=no,scrollbars=yes,top=0;left=0,width=900,height

=700');";
     Response.Write("<script language=javascript>");
     Response.Write(tt);
     Response.Write(
"qminoa.moveTo(0,0);");
     

Response.Write(
"qminoa.resizeTo(screen.availWidth,screen.availHeight);

");    
     Response.Write("window.opener=null;");
     Response.Write(
"window.close();");
     Response.Write(
"</script>");
    
    
    
   }
  }

转载于:https://www.cnblogs.com/jasonduan/archive/2006/05/17/402281.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值