[英]After Login User redirect different Page according to Role In asp.net
but it's not working how to solve this problem 但是解决这个问题是行不通的
Main Web.Config file which contain all information about Authentication membership and role manager 主Web.Config文件,其中包含有关身份验证成员身份和角色管理器的所有信息
<authentication mode="Forms">
<forms cookieless="UseCookies" path="/"
loginUrl="Login/default.aspx" protection="All" timeout="30">
</forms>
</authentication>
<membership defaultProvider="Demo_MemberShipProvider">
<providers>
<add name="Demo_MemberShipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="cs"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="true"
cookieName="TBHROLES" defaultProvider="Demo_RoleProvider">
<providers>
<add connectionStringName="cs"
applicationName="/" name="Demo_RoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
<!--Admin Web.Config-->
<authorization>
<allow roles="Admin" />
<deny roles="User, Customer"/>
<deny users="?"/>
</authorization>
<!--Customer Web.Config-->
<authorization>
<allow roles="Admin, User, Customer" />
<deny users="?"/>
</authorization>
<!--User Web.Config-->
<authorization>
<allow roles="Admin, User" />
<deny roles="Customer"/>
<deny users="?"/>
</authorization>
This is Login button Code for login 这是登录按钮登录代码
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if (Membership.ValidateUser(Login1.UserName, Login1.Password) == true)
{
Login1.Visible = true;
Session["user"] = User.Identity.Name;
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true);
}
else
{
Response.Write("Invalid Login");
}
}
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if (Membership.ValidateUser(Login1.UserName, Login1.Password) == true)
{
Login1.Visible = true;
Session["user"] = User.Identity.Name;
var userRoles = Roles.GetRolesForUser(Login1.UserName);
var userIdentity = new GenericIdentity(Login1.UserName);
var principal = new GenericPrincipal(userIdentity, userRoles);
Context.User = principal;
if (User.IsInRole("Admin"))
Response.Redirect("~/ThePageForAdmin");
if (User.IsInRole("User"))
Response.Redirect("~/ThePageForUser");
if (User.IsInRole("Customer"))
Response.Redirect("~/ThePageForCustomer");
}
else
{
Response.Write("Invalid Login");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.