我創建了一個MVC 5項目並使用Windows身份驗證。 我的問題是每當用戶的操作被操作屬性[Authorize(Roles =「Roelabc」)]拒絕時,瀏覽器將彈出一個包含用戶名/密碼的登錄提醒。 現在我不希望這個彈出,我只是想如果用戶被拒絕,然後重定向用戶到自定義頁面。 非常感謝。MVC 5 Windows身份驗證重定向
0
A
回答
0
創建派生自AuthorizeAttribute的類,將解決我的問題。
public class WindowsAuthorize : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (filterContext.Result is HttpUnauthorizedResult)
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary
{
{ "client", filterContext.RouteData.Values[ "client" ] },
{ "controller", "Home" },
{ "action", "Contact" },
{ "ReturnUrl", filterContext.HttpContext.Request.RawUrl }
});
}
}
}
而且使用這樣的
[WindowsAuthorize(Roles = "User1")]
[HttpGet]
public ActionResult Index(string runDate = "")
{ ... }
0
您可以創建一個名爲unathorized的視圖。而在你的登錄類中,只是重定向到該視圖。你可以在logon.cs中使用這樣的東西
if (AuthenticateUser())
{
if (CheckRulesOfBehavior())
{
AuthorizeUser();
HttpContext.Response.Redirect("~/Work/Index");
}
else
{
HttpContext.Response.Redirect("~/Errors/Unauthorized");
}
相關問題
- 1. MVC身份驗證重定向到新網站C#(Windows身份驗證)
- 2. mvc窗體身份驗證重定向
- 3. MVC asp.net - Windows身份驗證重定向到指定的操作
- 4. 重定向時重定向如果通過身份驗證MVC 5
- 5. MVC 5自定義身份驗證
- 6. ASP.NET MVC Windows身份驗證
- 7. MVC 5 OWIN身份驗證(Google Scopes)/不帶EF的身份證
- 8. ASP.NET MVC 5 OWIN區域身份驗證
- 9. ASP.NET MVC 5和WebAPI 2身份驗證
- 10. Angularjs身份驗證重定向問題
- 11. 身份驗證重定向失敗
- 12. CodeIgniter社區身份驗證重定向
- 13. Facebook身份驗證重定向循環
- 14. 的.htaccess:身份驗證和重定向
- 15. RestSharp重定向和身份驗證401
- 16. 重定向的Firebase身份驗證
- 17. Django - 身份驗證 - 重定向
- 18. Php重定向與http身份驗證
- 19. Laravel身份驗證本地重定向
- 20. PHP:身份驗證重定向問題
- 21. 重定向基本身份驗證
- 22. Windows Azure身份驗證後的重定向
- 23. 將Windows身份驗證重定向到自定義401頁面
- 24. 重定向到另一個網站以進行身份驗證(SSO)... MVC 5
- 25. ASP.Net MVC 5 - OWIN身份驗證登錄重定向顯示消息
- 26. Windows身份驗證 - MVC 2 ASP.Net
- 27. MVC-ADFS身份驗證 - ADFS重定向到本地主機
- 28. 向MVC添加用戶身份驗證
- 29. ajax mvc表單身份驗證重定向問題
- 30. ASP.NET MVC身份驗證重定向到區域登錄頁面
嗨,有在Windows身份驗證沒有登錄功能。非常感謝。我通過覆蓋默認的Authorize屬性找到了解決方案。見下面的帖子。 – shaun2099 2015-02-12 01:16:46