gez*_*ead 3 c# asp.net asp.net-identity
看起来它应该非常简单,就像在我的控制器上一样:
[Authorize(Roles = "domain\\ad_group")]
public class MyController : Controller
Run Code Online (Sandbox Code Playgroud)
但是,我想从appsettings指定"domain\ad_group",而不是硬编码.我意识到'正确'的解决方案是使用例如.EF角色/政策等,但这是一个非常小的应用程序,所以我正在寻找更轻量级的东西.
我可以通过简单的方式从appsettings中获取AD组吗?
小智 7
试试这个属性:
[Authorize(Policy = "MyPolicyName")]
在该ConfigureServices方法中,执行以下两个步骤:
1.从appsettings.json文件中读取所需角色(AD组).
2.使用RequireRole方法将该角色添加到此策略.
第1步的代码:
Configuration.GetSection("NameOfSectionInAppSettings").Bind(ObjectTheSectionIsMappedTo);
Run Code Online (Sandbox Code Playgroud)
第2步的代码:
services.AddAuthorization(options =>
{ options.AddPolicy("MyPolicyName", policy => policy.RequireRole(ObjectTheSectionIsMappedTo.AdGroupProperty)); });
Run Code Online (Sandbox Code Playgroud)
这适用于我开发的一个小应用程序:)
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |