在asp.net中使用两个默认URL实现RedirectFromLoginPage
我正在asp.net上工作,员工和学生有两个登录页面。登录成功后,用户将进入欢迎页面。但问题是,如果身份验证成功,我使用了RedirectFromLoginPage。下面是相关代码在asp.net中使用两个默认URL实现RedirectFromLoginPage,asp.net,Asp.net,我正在asp.net上工作,员工和学生有两个登录页面。登录成功后,用户将进入欢迎页面。但问题是,如果身份验证成功,我使用了RedirectFromLoginPage。下面是相关代码 protected void Buttontbl1_Click(object sender, EventArgs e) { if (AuthenticateUser(Textusertbl1.Text,textpastbl1.Text)) {
protected void Buttontbl1_Click(object sender, EventArgs e)
{
if (AuthenticateUser(Textusertbl1.Text,textpastbl1.Text))
{
FormsAuthentication.RedirectFromLoginPage(Textusertbl1.Text, CheckBoxtbl1.Checked);
}
else
{
errorlbl.Text="Invalid Username or Password";
}
}
我已经将默认URL设置为WelcomeStaff.aspx,因此如果身份验证成功,用户将被重定向到该URL。这是Web.config文件中的代码
<authentication mode="Forms">
<forms loginUrl="SelectUser.aspx" defaultUrl="welcomeStaff.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
因此,我需要实施以下内容:
我想为另一个登录相同
-如果身份验证成功,则必须将用户重定向到DefaultUrl=WelcomeStudent.aspx
对于一个登录页面来说效果很好,但是我不知道如何实现两个aspx页面
那么,两个aspx文件可以有两个defaultUrl吗?有没有其他方法可以实现?我不熟悉asp.net.Plz帮助。提前谢谢
我通常处理这种情况的方法是将该应用程序配置为返回重定向页面,例如:redirection.aspx,该页面将检查用户是否经过身份验证,如果是,将根据is角色将用户重定向到另一个页面。例:
if (User.Identity.IsAuthenticated)
{
if(User.IsInRole("Student"))
{
Response.Redirect("WelcomeStudent.aspx");
return;
}
else if(User.IsInRole("Staff")
{
Response.Redirect("welcomeStaff.aspx");
return;
}
}
//For any other situation, return to login
FormsAuthentication.RedirectToLoginPage();
我希望这能对您有所帮助。您能告诉我User.isinrolestuden@mberube.NetIn asp.net中的学生是什么吗?当您希望为多种类型的用户保护应用程序时,典型的方法是使用RoleProvider将用户映射到角色。然后,您可以保护资源或基于角色的业务逻辑,如我的示例中所示。如果您有任何其他方法来检查登录的用户是学生还是教职员,您可以使用自己的逻辑。