2016-03-21 149 views
0

web.config我們可以爲位置單獨設置授權選項:檢查授權

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

如何從代碼這個選項?

+0

是否使用MVC? –

+0

關於這個問題呢這麼說:http://stackoverflow.com/questions/10848086/authorize-attribute-in-asp-net-mvc – pix

+0

我希望你正在尋找這個。 http://stackoverflow.com/questions/1240552/accessing-authorization-information-in-web-config – Hari

回答

0

比使用Authorize屬性更好,我認爲使用if條件會好得多。

If(User.Identity.IsAuthenticated) 
{ 
    If(User.Identity.IsInRole=="admin") 
    { 
     return view("Secret"); 
    } 
    else 
    { 
      return view("NotAllowed") 
    } 
} 
else 
{ 
    return View("NeedAuth"); 
} 

如果用戶突然重定向到loginpage在屬性,他可能會認爲它是在網站上的錯誤,但你將能夠清楚地告訴他需要對用戶進行認證這種方式。

0

試試這個:

public void ProcessRequest(HttpContext context) 
    { 
     if (HttpContext.Current.User.Identity.IsAuthenticated == false) 
     { 
      context.Response.Redirect("Your Path"); 
     } 
    }