Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心授权角色与appsettings中的AD组_C#_Asp.net_Asp.net Identity - Fatal编程技术网

C# ASP.NET核心授权角色与appsettings中的AD组

C# ASP.NET核心授权角色与appsettings中的AD组,c#,asp.net,asp.net-identity,C#,Asp.net,Asp.net Identity,这看起来应该很容易,因为在我的控制器上,这是可行的: [Authorize(Roles = "domain\\ad_group")] public class MyController : Controller 但是,我希望从appsettings中指定“域\广告组”,而不是硬编码。 我意识到“适当”的解决方案是使用EF角色/策略等,但是这是一个非常小的应用程序,所以我正在寻找更轻量级的应用程序 我可以用一种简单的方法从appsettings中获取广告组吗?尝试以下属性: [授权(Policy

这看起来应该很容易,因为在我的控制器上,这是可行的:

[Authorize(Roles = "domain\\ad_group")]
public class MyController : Controller
但是,我希望从appsettings中指定“域\广告组”,而不是硬编码。 我意识到“适当”的解决方案是使用EF角色/策略等,但是这是一个非常小的应用程序,所以我正在寻找更轻量级的应用程序

我可以用一种简单的方法从appsettings中获取广告组吗?

尝试以下属性:
[授权(Policy=“MyPolicyName”)]

ConfigureServices
方法中,执行以下2个步骤:
1。从appsettings.json文件中读取所需的角色(AD组)。
2。使用RequireRole方法将该角色添加到此策略

步骤1的代码:

Configuration.GetSection("NameOfSectionInAppSettings").Bind(ObjectTheSectionIsMappedTo);
步骤2的代码:

services.AddAuthorization(options =>
{ options.AddPolicy("MyPolicyName", policy => policy.RequireRole(ObjectTheSectionIsMappedTo.AdGroupProperty)); });

这适用于我开发的一个小应用程序:)

太好了,我没有意识到RequireRole方法可以使用广告组名称-很好的发现。。