0

我正在研究ASP.Net MVC應用程序,其中管理員可以將訪問權限分配給不同頁面上的個人用戶。用戶訪問管理員分配的頁面

我應用了用戶角色,如Admin,supervisorEnd-user[authorize]屬性。它工作正常,但現在我希望用戶訪問管理員指定給他的頁面

目前試圖overrideOnAuthorize()方法,這樣我就可以得到操作名稱,並檢查(從DB),如果用戶有access rightsredirect到另一個頁面(說明:「您沒有權限」)

注意:我保存了所有形式的權利,如數據庫中的活動,添加,更新,刪除等。

回答

1

您需要擴展內置AuthorizationAttribute,覆蓋其AuthorizeCore方法並在那裏實現您的邏輯。就像這樣:

public class UserBasedCustomAuthorizationAttribute : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     ... do your checking here 

下面是微軟實現,這需要的Roles護理: AuthorizeAttribute.cs