检查当前页面是否需要授权

时间:2016-03-21 11:51:17

标签: c# asp.net webforms authorization

web.config中,我们可以为地点单独设置授权选项:

<location path="request.ashx">
      <system.web>
          <authorization>
              <allow users="*" />
          </authorization>
      </system.web>
  </location>

如何从代码中获取此选项?

2 个答案:

答案 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");
        }
    }