![](/img/trans.png)
[英]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.