看起来它应该非常简单,就像在我的控制器上一样:
[Authorize(Roles = "domain\\ad_group")]
public class MyController : Controller
但是我想指定" domain \ ad_group"从appsettings,而不是硬编码。 我意识到“适当的”#39;解决方案是使用例如。 EF角色/政策等,但这是一个非常小的应用程序,所以我正在寻找更轻量级的东西。
我可以通过简单的方式从appsetting中获取AD组吗?
答案 0 :(得分:6)
尝试以下属性:
[Authorize(Policy = "MyPolicyName")]
在ConfigureServices
方法中,执行以下两个步骤:
1。从appsettings.json文件中读取所需角色(AD组)。
2。使用RequireRole方法将该角色添加到此策略。
步骤1的代码:
Configuration.GetSection("NameOfSectionInAppSettings").Bind(ObjectTheSectionIsMappedTo);
第2步的代码:
services.AddAuthorization(options =>
{ options.AddPolicy("MyPolicyName", policy => policy.RequireRole(ObjectTheSectionIsMappedTo.AdGroupProperty)); });
这适用于我开发的一个小应用程序:)