如何使用 identityserver4 和 asp.netcore identity 进行用户管理
how to do user management with identityserver4 and asp.netcore identity
我正在构建一个包含 3 个项目的系统,但我正在为如何实施用户管理而苦恼。我有 3 个项目,一个 asp.net 核心 MVC,一个 asp.net 核心 Web API 和一个 identityserver4。想用asp.net核心身份做用户管理,因为框架提供了很多,但不知道放在哪里。该系统本身还不是一个大系统,但我希望它在未来具有可扩展性。我读到 identityserver 唯一要做的就是身份验证和授权,而不是处理用户管理部分(创建用户、更改权限等)
在系统本身中,我需要有一个可以访问用户(通过前端 MVC)并可以创建新用户或删除用户等的管理员。
所以问题是,我应该实施 asp.net 核心身份在 identityserver4 项目中提供的所有用户管理功能,还是应该在网络中构建它 API 并让这两个项目访问同一个数据库。我不希望第四个项目只用于用户管理,尽管我知道这是理想的解决方案。
目前,mvc 应用程序仅使用 identityserver 提供的不记名令牌连接到网络 API。
或者,我是否应该换个方向,使用 jwt 令牌和 asp.net 核心标识,并且只有两个项目?
我对这部分很困惑,我想知道什么是最佳实践。
只有 Identity Server 项目(以及与之相关的任何项目)才能访问用户数据库。客户端或 API 资源所需的所有用户信息,都需要从 IS 自身获取。
现在,正确设置 Identity Server 取决于您的需要。如果您想要一个简单的供几个应用程序使用,请使用一个可以登录用户并注册他们的项目,并在 config.cs 文件中设置您的客户端和 API 资源。但这不是一个好方法。通常,您应该有一个用于用户登录和注册的 IS 项目,以及一个管理这些用户、客户端和 API 资源的项目。你可以看到它的一个很好的例子 here,它也使用 ASP.NET Identity,并且有一个 STS 项目(Identity Server),Admin 项目(User, Client, API manager)和一个API 项目(用于所有相关的数据库访问)。希望这有帮助。
我正在构建一个包含 3 个项目的系统,但我正在为如何实施用户管理而苦恼。我有 3 个项目,一个 asp.net 核心 MVC,一个 asp.net 核心 Web API 和一个 identityserver4。想用asp.net核心身份做用户管理,因为框架提供了很多,但不知道放在哪里。该系统本身还不是一个大系统,但我希望它在未来具有可扩展性。我读到 identityserver 唯一要做的就是身份验证和授权,而不是处理用户管理部分(创建用户、更改权限等)
在系统本身中,我需要有一个可以访问用户(通过前端 MVC)并可以创建新用户或删除用户等的管理员。
所以问题是,我应该实施 asp.net 核心身份在 identityserver4 项目中提供的所有用户管理功能,还是应该在网络中构建它 API 并让这两个项目访问同一个数据库。我不希望第四个项目只用于用户管理,尽管我知道这是理想的解决方案。 目前,mvc 应用程序仅使用 identityserver 提供的不记名令牌连接到网络 API。
或者,我是否应该换个方向,使用 jwt 令牌和 asp.net 核心标识,并且只有两个项目?
我对这部分很困惑,我想知道什么是最佳实践。
只有 Identity Server 项目(以及与之相关的任何项目)才能访问用户数据库。客户端或 API 资源所需的所有用户信息,都需要从 IS 自身获取。
现在,正确设置 Identity Server 取决于您的需要。如果您想要一个简单的供几个应用程序使用,请使用一个可以登录用户并注册他们的项目,并在 config.cs 文件中设置您的客户端和 API 资源。但这不是一个好方法。通常,您应该有一个用于用户登录和注册的 IS 项目,以及一个管理这些用户、客户端和 API 资源的项目。你可以看到它的一个很好的例子 here,它也使用 ASP.NET Identity,并且有一个 STS 项目(Identity Server),Admin 项目(User, Client, API manager)和一个API 项目(用于所有相关的数据库访问)。希望这有帮助。