[英]ASP.NET MVC 5 - Identity. How to get current ApplicationUser
[英]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.