首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么PrincipalPermission(属性)不考虑鉴权类型?

为什么PrincipalPermission(属性)不考虑鉴权类型?
EN

Stack Overflow用户
提问于 2011-11-12 02:53:46
回答 1查看 413关注 0票数 0

IIdentity接口公开了AuthenticationType属性,我想要考虑到这一点,因为如果用户使用x509或基本用户名/密码身份验证登录,情况会有所不同,您知道:

代码语言:javascript
复制
[PrincipalPermission(SecurityAction.Demand, Role = "BigBoss", AuthenticationType="basic")]
protected static void DoSomething() {}

而且,PrincipalPermissionPrincipalPermissionAttribute都是密封的(谢谢大家),所以我不能添加我需要的功能。这是因为一些特殊的原因,还是仅仅是一个设计缺陷?有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-12 03:05:05

尽管两者都与安全性相关,但身份验证和授权实际上是两个独立的问题,并且将身份验证直接耦合到身份验证机制通常不是一个特别好的想法。

如果您觉得有令人信服的理由来添加这样的耦合,那么您有几种可用的方法:

  1. 将角色添加到主体以反映身份验证机制,然后在需要身份验证机制时同时要求焦点角色和身份验证机制伪角色。
  2. 虽然PrincipalPermissionPrincipalPermissionAttribute是密封的,但没有什么可以阻止您创建执行所需操作的类似类型。

对于#2,您可以创建一个自定义属性来创建包装PrincipalPermission的自定义权限,而不是从头开始重新创建它的所有逻辑。

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

https://stackoverflow.com/questions/8098594

复制
相关文章

相似问题

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