我很難理解ASP.NET MVC中[Authorize]
屬性的實際使用。根據這個概念,如果我們用[Authorize]
屬性修飾控制器方法,則只有經過身份驗證的用戶纔可以訪問控制器。ASP.NET MVC中的授權屬性
我開發了一個ASP.NET MVC應用程序,沒有用[Authorize]
屬性裝飾控制器。我觀察到的是,如果我在我的應用程序中使用web.config或其他方式正確實現身份驗證機制,那麼現在我可以訪問特定操作方法的URL {controller}/{action}/{id}
。
系統總是要求登錄。這意味着我的控制器是安全的。我的問題是,當我可以保護我的控制器而不使用[Authorize]
屬性時,那麼它的真正需求是什麼?
感謝answer.But相同的限制,我可以用徵收使用成員身份和角色提供對那些由控制器返回的頁面查看我的web.config。我不需要爲此使用[Authosrize]屬性。 – techmad
@kaus - 有一點需要指出的是,在MVC應用程序中使用web.config有可能造成安全漏洞。 authorize屬性考慮了所有的ASP.NET路由,而使用web.config則必須知道應用中所有可能的路由配置,並將它們考慮在內。您可能已經考慮到了這一點,但通過查看web.config和routing.config以及您看到的其他位置,您無法確定。通過查看類上的授權屬性,您知道無論路由如何,它都是安全的。 – DarrellNorton