1

我的愿景包括拥有从 AD 推送的全局定义角色,但我也希望能够添加到 Context.User.IsInRole("ATransientRoleForThisDocumentOnly") 并进行这项工作......

我考虑过将角色推入 Thread.CurrentPrincipal 并传入 Context.User.Identity 和一系列角色,但我担心让所有你开箱即用的 ADRole,我真的只想添加一些 AdHoc 角色将在请求的整个生命周期内存活。

这似乎可能吗?所有角色管理器方法都是静态的,因此即使我做了自定义角色管理器,该管理器如何知道您是阅读者的文档 ID #1……而在文档 #2 上,您是读/写的?

4

1 回答 1

1

从允许您覆盖 CreatePermission 的 Security 类继承,例如 CodeAccessSecurityAttribute 并返回此:

public override IPermission CreatePermission()
{
  return new PrincipalPermission(string.Empty, "MyCustomRole");
}
于 2010-11-05T15:22:09.143 回答