Forms登陆验证,为什么我必须登陆两次才成功
Forms登陆验证,为什么我必须登陆两次才成功 ,我在运行的时候第一次登陆前我的站点图标是不显示的,而第一次登陆成功后才显示,但还在登陆界面 代码如下:
单击登陆按钮 事件:
if (Authenticate(this.txtUserName.Text.ToString(), this.txtUserPwd.Text.ToString()) == true)
{
FormsAuthentication.SetAuthCookie(this.txtUserName.Text.ToString(),false);
Response.Redirect(PathPrefix + "/ST_RCategoryMan.aspx ");
}
else
{
this.lalInfo.Text = "用户名或密码错误 ";
}
//////////Authenticate函数判断用户是否合法,合法返回true
web.config的设置:
<authentication mode= "Forms ">
<forms loginUrl= "ST_UsersMan.aspx " name= "FormsAuthCookie "/>
</authentication>
<authorization>
<deny users= "? "/>
</authorization>
////望高手指点
------解决方案--------------------1、检查 FormsAuthentication.SetAuthCookie 有无被执行
2、按 Crtl+F5 强制刷新一次页面,清除缓存试试
------解决方案--------------------是在ASP.NET里面吗?
如果是请写在
if(!this.IsPostBack)
{
你的代码...
}
------解决方案--------------------FormsAuthentication.RedirectFromLoginPage( "登陆名 ",false);
试试 这个
------解决方案--------------------这好像和forms验证没有关系
你可以一步一步调试
if(Authenticate(this.txtUserName.Text.ToString(), this.txtUserPwd.Text.ToString()))
{
lblMessage.Text= "登录成功 ";
}
else
{
lblMessage.Text= "登录失败 ";
}
如果这个都不正常的话 看看页面其它的地方如Page_Load OnLoad 什么的地方代码有没什么问题