gpt4 book ai didi

c# - 名为 : 'Admin' was not found 的 AuthorizationPolicy

转载 作者:可可西里 更新时间:2023-11-01 08:16:57 27 4
gpt4 key购买 nike

我正在学习 .NET Core MVC 中的身份验证/授权。

我正在尝试创建一个只能由“管理员”访问的 Controller ,但出现以下错误。

An unhandled exception occurred while processing the request.

InvalidOperationException: The AuthorizationPolicy named: 'Admin' was not found.

这是我的代码。我该怎么办?

[HttpGet("~/Test")]
[Authorize("Admin")]
public async Task<string> MyMethod()
{
return await Task<string>.Run(() => "Hello Admin");
}

最佳答案

你可以在Startup.cs中定义匹配策略

services.AddAuthorization(options =>
{

options.AddPolicy("Admin",
authBuilder =>
{
authBuilder.RequireRole("Administrators");
});

});

authBuilder 还有其他方法,您可以使用基于策略的授权要求声明或特定用户名或自定义规则,并从 Startup 的中央位置控制规则 https://docs.asp.net/en/latest/security/authorization/policies.html

关于c# - 名为 : 'Admin' was not found 的 AuthorizationPolicy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40532072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com