gpt4 book ai didi

c# - ASP.NET 核心从 appsettings 授权角色与 AD 组

转载 作者:行者123 更新时间:2023-11-30 14:06:40 27 4
gpt4 key购买 nike

这看起来应该很简单,因为在我的 Controller 上这是可行的:

[Authorize(Roles = "domain\\ad_group")]
public class MyController : Controller

但是我想从 appsettings 中指定“domain\ad_group”,而不是硬编码。我意识到“正确”的解决方案是使用例如。 EF 角色/策略等,但这是一个非常小的应用程序,所以我正在寻找更轻量级的东西。

能否通过简单的方式从appsettings获取AD组?

最佳答案

试试属性:[Authorize(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)); });

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

关于c# - ASP.NET 核心从 appsettings 授权角色与 AD 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283796/

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