在web.config
中,我们可以为地点单独设置授权选项:
<location path="request.ashx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
如何从代码中获取此选项?
答案 0 :(得分:0)
比使用Authorize属性更好,我认为使用if条件会好得多。
If(User.Identity.IsAuthenticated)
{
If(User.Identity.IsInRole=="admin")
{
return view("Secret");
}
else
{
return view("NotAllowed")
}
}
else
{
return View("NeedAuth");
}
如果用户突然被重定向到登录页面,他可能会认为这是网站中的错误,但这样您就可以清楚地告诉用户他需要进行身份验证。
答案 1 :(得分:0)
试试这个:
public void ProcessRequest(HttpContext context)
{
if (HttpContext.Current.User.Identity.IsAuthenticated == false)
{
context.Response.Redirect("Your Path");
}
}