簡體   English   中英

ASP.NET MVC身份。 限制認證的邏輯

[英]Asp.net mvc Identity. Logic of limiting authentications

假設我有兩個模型:

class Customer {
    public GUID CustomerID { get; set; }
    public IEnumerable<User> SubscribedUsers { get; set; }
    //other fields
}

class User {
    public GUID UserID { get; set; }
    //other fields
}

我想用ASP.NET身份實現BL,以限制權限:如果用戶在SubscribedUsers中-授予訪問權限-拒絕訪問。

我不要求您為我實施它。 只要給我最佳實踐,我該怎么做以及在哪里可以迭代這套業務邏輯...

我想我必須實現自定義OAuthAuthorizationServerProvider ,對嗎?

我認為最簡單的方法是添加一個新的Claim( https://docs.microsoft.com/en-us/aspnet/core/security/authorization/claims )。 將其稱為SubscribedOnly並將此聲明添加到指定的用戶( 如何在ASP.NET Identity中添加聲明

通常,在嘗試覆蓋某些內容之前,我會嘗試找到一種內置的方法來解決您的問題。

授權邏輯將放置在您的控制器中。 您可以將此屬性[Authorize]設置在Controller之上(這意味着每個ActionMethod僅適用於已登錄的用戶)或應確保訪問權限的每個ActionMethod之上。

使用此屬性非常容易,直接,適用於各種實現!!

如果您正在尋找了解身份或自定義身份的良好資源,我將推薦John Attens博客: http ://johnatten.com/?s=identity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM