我正在使用表单身份验证创建一个 MVC 应用程序。我正在针对活动目录进行身份验证,因此创建了一个自定义 RoleProvider。我的应用程序只关心一小组角色,到目前为止,我一直在我的 web.config 的 appSettings 部分定义这些角色:
<appSettings>
<add key="DirectorRole" value="Domain\Directors" />
<add key="ManagementRole" value="Domain\Managers" />
...
</appSettings>
但是,我在使用这种方法时遇到了一些问题:
- 我无法在我的控制器数据注释中引用这些设置:
[Authorize(Roles = ConfigurationManager.AppSettings["DirectorRole"])]
因为它不会编译,所以我必须再次指定组的名称:[Authorize(Roles = "Domain\\Directors")]
。 - 在我的 web.config 中,我想为我的角色提供者指定 groupsToUse 并且只引用一个预先存在的列表,而不是维护同一组角色的两个单独的列表。
似乎必须有一种更好/可重用的方式来定义 web.config 中的角色,有人可以指出我正确的方向吗?