如何使用Identityserver4和asp.netcore身份进行用户管理

问题描述 投票:0回答:1

我正在建立一个包含3个项目的系统,并且我在如何实现用户管理方面苦苦挣扎。我有3个项目,一个asp.net核心MVC,一个asp.net核心Web API和一个identityserver4。我想使用asp.net核心身份进行用户管理,因为该框架提供了很多功能,但我不知道将其放置在何处。该系统本身还不是一个大系统,但是我希望它将来可以扩展。我读过IdentityServer唯一要做的事情是身份验证和授权,而不处理用户管理部分(创建用户,更改权限等)

在系统本身中,我需要一个具有访问用户权限(通过前端MVC)并可以创建新用户或删除用户的管理员,等等。>>

所以问题是,我应该实现asp.net核心身份在identityserver4项目中提供的所有用户管理功能,还是应该在Web API中构建它并使两个项目访问同一数据库。我不希望第四个项目仅用于用户管理,尽管我知道这是理想的解决方案。当前,mvc应用仅通过具有IdentityServer提供的承载令牌的Web API进行连接。

或者,我应该朝新的方向使用jwt令牌和asp.net核心标识,并且只有两个项目吗?

我对此部分非常困惑,我想知道什么是最佳实践。

我正在建立一个包含3个项目的系统,并且我在如何实现用户管理方面苦苦挣扎。我有3个项目,一个asp.net核心MVC,一个asp.net核心Web API和一个identityserver4。我想使用...

asp.net-core architecture identityserver4 asp.net-core-identity
1个回答
0
投票

只有Identity Server项目(以及与其相关的任何项目)都应有权访问用户数据库。客户端或API资源需要的所有用户信息,都需要从IS自身获取。现在,正确设置Identity Server取决于您的需求。如果您希望使用一个简单的应用程序供几个应用程序使用,请使用一个可以登录用户并注册用户的项目,然后在config.cs文件中设置客户端和API资源。不过,这不是一个好方法。通常,您应该有一个用于用户登录和注册的IS项目,以及一个用于管理这些用户以及客户端和API资源的项目。您可以看到一个很好的示例here,它也使用ASP.NET Identity,并且具有STS项目(Identity Server),管理项目(User,Client,API Manager)和API项目(用于所有相关的数据库访问) )。希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.