繁体   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