向 AspNet Core 3.0-preview React 项目添加授权(带身份验证)
Add Authorization to AspNet Core 3.0-preview React project (with Authentication)
使用 dotnet new react --name myproject --auth Individual
创建一个新的 aspnet 核心项目会设置一个带有 IdentityServer4 和身份验证的新 React 项目。
我想添加授权(角色、策略、声明),这样我就可以像这样装饰方法:
[HttpGet]
[Authorize(Roles = "Administrator")] <-- LIKE THIS
public IEnumerable<WeatherForecast> Get()
{
...
}
我在一个没有 IdentityServer 的项目中设法做到了这一点,而且我在谷歌上搜索了很多小时都没有成功。
模板项目添加授权需要添加哪些步骤?
提前致谢!
我尝试过向 Startup.cs
添加不同的内容,例如:
services.AddRoles<IdentityRole>();
// ... or ...
services.AddAuthorization(...);
$ dotnet --version
3.0.100-preview7-012821
我会尝试添加尽可能多的信息,希望您使用身份服务器 4 并在反应前端使用隐式流,并且 API 将您的身份服务器作为授权。
您需要一个客户端和身份服务器上的一个 API 资源。
1. 反应前端的隐式流程。
2. 您 API 需要添加为 api 资源。
隐式流客户端应该可以访问 api 客户端的范围。
按照 https://github.com/IdentityServer/IdentityServer4.AccessTokenValidation
中的步骤操作
用户需要具有管理员角色。您可以直接在数据库的用户角色 table 中将其添加为角色,或者在 google 和 [=10= 中搜索 身份服务器 的配置文件服务] 方法检查用户 ID 并将管理员角色作为角色声明添加到已发布的声明列表中。
context.IssuedClaims.Add(roleClaim);
完成此操作后,现在反应客户端收到的令牌具有角色声明,表明它具有管理员角色,并且在调用 api 时,api 将知道该角色存在。
使用 dotnet new react --name myproject --auth Individual
创建一个新的 aspnet 核心项目会设置一个带有 IdentityServer4 和身份验证的新 React 项目。
我想添加授权(角色、策略、声明),这样我就可以像这样装饰方法:
[HttpGet]
[Authorize(Roles = "Administrator")] <-- LIKE THIS
public IEnumerable<WeatherForecast> Get()
{
...
}
我在一个没有 IdentityServer 的项目中设法做到了这一点,而且我在谷歌上搜索了很多小时都没有成功。
模板项目添加授权需要添加哪些步骤?
提前致谢!
我尝试过向 Startup.cs
添加不同的内容,例如:
services.AddRoles<IdentityRole>();
// ... or ...
services.AddAuthorization(...);
$ dotnet --version
3.0.100-preview7-012821
我会尝试添加尽可能多的信息,希望您使用身份服务器 4 并在反应前端使用隐式流,并且 API 将您的身份服务器作为授权。
您需要一个客户端和身份服务器上的一个 API 资源。 1. 反应前端的隐式流程。 2. 您 API 需要添加为 api 资源。
隐式流客户端应该可以访问 api 客户端的范围。
按照 https://github.com/IdentityServer/IdentityServer4.AccessTokenValidation
中的步骤操作用户需要具有管理员角色。您可以直接在数据库的用户角色 table 中将其添加为角色,或者在 google 和 [=10= 中搜索 身份服务器 的配置文件服务] 方法检查用户 ID 并将管理员角色作为角色声明添加到已发布的声明列表中。
context.IssuedClaims.Add(roleClaim);
完成此操作后,现在反应客户端收到的令牌具有角色声明,表明它具有管理员角色,并且在调用 api 时,api 将知道该角色存在。