У меня есть некоторые проблемы с авторизацией:
Коды AuthorizeWebForm
работают при загрузке страницы, я не в группе администраторов, поэтому у меня нет доступа, и это здорово. Но когда я обновляю страницу, у меня появляется доступ к странице, и код AuthorizeWebFormAttribute
не запускается при обновлении. Любое решение для этого?
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
public class AuthorizeWebFormAttribute : System.Attribute
{
public AuthorizeWebFormAttribute(string Roles = null)
{
IPrincipal user = HttpContext.Current.User;
if (user.Identity.IsAuthenticated)
{
if (Roles == null)
return;
if (user.IsInRole("admin"))
return;
string[] roleArray = Roles.Split(',');
foreach (var role in roleArray)
{
if (user.IsInRole(role))
return;
}
}
HttpContext.Current.Server.TransferRequest("~/Unauthorized", false);
}
}
namespace Crew
{
[AuthorizeWebForm("admin")]
protected void Page_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Session["EmpNo_User"].ToString()))
{
Response.Redirect("~/ErrorPage.aspx?CustError=This page expired. Please close the broswer and open again.");
}
Page.MaintainScrollPositionOnPostBack = true;
}
}
Большое спасибо!