已解决

金老师你给的代码有问题?已解决

学员:徐豫锋提问时间:2008-10-16 14:19:37

难怪无法User登陆?少了验证注册用户角色!请更新示例代码!
protected void btnLogin_Click(object sender, EventArgs e)
{
if (Membership.ValidateUser(txtUserName.Text, txtPwd.Text))
{
if(Roles.IsUserInRole(txtUserName.Text,"Admin"))
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, false);
//⑴⑴⑴
else
Server.Transfer("~/default.aspx");
}
else
lblInfo.Text = "用户验证失败";
}
老师看一下,这里都没有验证注册用户角色,难怪无法登陆!
我试过了,⑴修改成这样就好了!
else if(Roles.IsUserInRole(txtUserName.Text,"User"))
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, false);

采纳为答案

回答人:金旭亮回答时间:2008-10-17 10:49:25

呵呵,我仔细看了一下代码,的确漏掉了对User角色的验证,是一个BUG。加上就好了:
protected void btnLogin_Click(object sender, EventArgs e)
{
if (Membership.ValidateUser(txtUserName.Text, txtPwd.Text))
{
if (Roles.IsUserInRole(txtUserName.Text, "Admin")||Roles.IsUserInRole(txtUserName.Text, "User"))
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, false);
else
Server.Transfer("~/default.aspx");
}
else
lblInfo.Text = "用户验证失败";
}

学员对该答案的评价 谢谢

其他回答

回答人:徐豫锋回答时间:2008-10-16 14:55:53
补充一下,是角色管理的那节课的示例代码。
UnderStandAuthorization
回答人:徐豫锋回答时间:2008-10-18 08:53:30
还是金老师牛啊,写出的代码比我的效率就是高,确实用||效率高!