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方法可以使用广告组名称-很好的发现。。