Я пишу следующий код для доступа к странице, но у меня это не работает
if (User.Identity.IsAuthenticated)
{
if (Context.User.IsInRole("DistrictAdmin"))
{
if (!IsPostBack)
{
}
}
else
{
Response.Redirect("Default.aspx");
}
}
else
{
Response.Redirect("Default.aspx");
}
Мой код проверки входа
string RoleTypeID;
objLogin.UserName = txtUsername.Text;
objLogin.Password = txtPassword.Text;
if (objLogin.getRoles(out RoleTypeID))
{
Session["RoleID"] = RoleTypeID;
FormsAuthenticationTicket oAuthTicket = new FormsAuthenticationTicket(1, txtUsername.Text, DateTime.Now, DateTime.Now.AddMinutes(20), false, RoleTypeID.ToString(), FormsAuthentication.FormsCookiePath);
string encryptoAuthTicket = FormsAuthentication.Encrypt(oAuthTicket);
HttpCookie oCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptoAuthTicket); // Name of auth cookie
if (oAuthTicket.IsPersistent) oCookie.Expires = oAuthTicket.Expiration;
HttpContext.Current.Response.Cookies.Add(oCookie);
if (RoleTypeID == "DistrictAdmin" || RoleTypeID == "CampusAdministrator" || RoleTypeID == "LPACMember")
{
Response.Redirect("LEPstudentrecords.aspx");
}
}
else
{
lblInvalid.Visible = true;
}
и в моем web.config
я установил следующее
<roleManager enabled="false" />
<authentication mode="Forms">
<forms loginUrl="Default.aspx"
timeout="20" />
</authentication>
<sessionState mode="InProc" timeout="180"></sessionState>
Но я не могу получить роль, даже если он аутентифицирован, может ли кто-нибудь сказать, что делать?
Вот изображение после аутентификации, все становится правильно, но я не могу получить доступ к этой странице
roleManager enabled="false"
??? - person leppie   schedule 12.07.2011