asp.net Forms 身份验证

本文介绍并对比了两种不同的用户登录验证及登录成功后的页面重定向方法。方法一使用了FormsAuthentication的RedirectFromLoginPage进行重定向,而方法二则通过SetAuthCookie设置认证Cookie,并使用GetRedirectUrl获取重定向URL,再进行页面跳转。

方法一


  
string UserName = txtUserName.Text.Trim();
string Pwd = MD5.Md5(txtPwd.Text.Trim());
if (Users.ValidateUser(UserName, Pwd))
{
FormsAuthentication.RedirectFromLoginPage(UserName,
false );
if (Request[ " ReturnUrl " ] == null || Request[ " ReturnUrl " ] == "" )
{
Response.Redirect(
" admin/xxx.aspx " ); // 正常的登陆后的页
}
else
Response.Redirect(Request[
" ReturnUrl " ]); // 如果是其他页面转向到登陆页的话就返回前一个页面
}
else
// WebHelper.AlertAnRefresh("账号密码不正确");

 

 

方法二


  
string UserName = txtUserName.Text.Trim();
string Pwd = MD5.Md5(txtPwd.Text.Trim());
if (Users.ValidateUser(UserName, Pwd))
{
FormsAuthentication.SetAuthCookie(UserName,
false );
String redirectionUrl
= FormsAuthentication.GetRedirectUrl(UserName, false );
if (redirectionUrl.ToLower().IndexOf( " cookies.aspx " ) > 0 )
{
Response.Redirect(
" admin/xxx.aspx " ); // 正常的登陆后的页
}
// FormsAuthentication.RedirectFromLoginPage(UserName, false);
Response.Redirect(redirectionUrl); // 如果是其他页面转向到登陆页的话就返回前一个页面
}

 


 string UserName= txtUserName.Text.Trim();
        
string Pwd =MD5.Md5(txtPwd.Text.Trim());
        
if (Users.ValidateUser(UserName, Pwd))
        {
            FormsAuthentication.SetAuthCookie(UserName, 
false);
            String redirectionUrl 
= FormsAuthentication.GetRedirectUrl(UserName,false);
            
if (redirectionUrl.ToLower().IndexOf("cookies.aspx"> 0)
            {
                Response.Redirect(
"admin/xxx.aspx");//正常的登陆后的页
            }
          
//  FormsAuthentication.RedirectFromLoginPage(UserName, false);
            Response.Redirect(redirectionUrl);//如果是其他页面转向到登陆页的话就返回前一个页面
        }

 

作者: ret00100
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ret00100/archive/2009/08/29/1556245.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值