首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将动态PrincipalPermission转换为可编程.Demand

将动态PrincipalPermission转换为可编程.Demand
EN

Stack Overflow用户
提问于 2010-12-21 01:29:55
回答 1查看 2.1K关注 0票数 3

我现在有两个角色:

PrincipalPermission(SecurityAction.Demand,Role="Domain\Admin")

问题是,继承的代码是特定于域的,我希望最终从web.config文件中获得角色,这样我就可以处理一个不在域中的VM了。

我见过这样的例子:

PrincipalPermission permCheck =新PrincipalPermission( null,@"Domain\Admin");permCheck.Demand();

由于这会引发一个异常,如果用户不在角色中,那么如何更改此示例以允许这两个角色中的任何一个?我可以使用多个IPrincipal.IsInRole(),然后抛出自己的异常,但似乎有一种方法可以使用具有多个角色的.Demand方法。

更新12/21:基于Ladislav的Union链接的示例代码如下:

代码语言:javascript
复制
PrincipalPermission ppAdmin = new PrincipalPermission(null, @"Domain\Admin");
PrincipalPermission ppAnother = new PrincipalPermission(null, @"Domain\AnotherRole");
(ppAdmin.Union(ppAnother)).Demand();

但是AzMan ( Ladislav建议的)看起来是一个更好但更复杂的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-21 09:00:44

PrincipalPermission有友联市方法。此方法允许您在调用需求之前组合几个PrincipalPermissions。但是,您可以检查授权管理器 (AzMan)和相关角色提供程序(AuthorizationStoreRoleProvider),而不是使用命令式权限。授权管理器允许您在应用程序中定义抽象角色,并通过MMC分配真实的用户组和角色。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4495599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档