【问题标题】:Simple access control with WIF 4.5使用 WIF 4.5 进行简单的访问控制
【发布时间】:2013-02-02 07:15:39
【问题描述】:

可以肯定的是,我对 WIF 的了解越多,我对如何做事就越感到困惑。 对于本应让事情变得轻松的东西,我无法想象如果没有它会怎样。我想场景太多了,我很难找到适合我的那个。

出于某些(在我看来是好的,但可能是坏的)原因,我想避免使用官方 STS(ADFSACS),然后自己编写以保持简单!

我正在寻找的是能够处理用户(我将从 AD 身份包装)、用户组(自定义)和将用户/组分配给(自定义)的角色。

我想用ClaimsPrincipalPermissionAttribute(或声明性等效项)来装饰我的客户端方法,以检查当前用户是否具有所需的角色。我希望能够从 Windows 客户端应用程序或托管在 IIS/WAS 上的 WCF 服务使用它(Net.tcp 是我的首选绑定)。

非常欢迎一些指导,因为我厌倦了阅读 WIF 上的材料,而没有任何改进解决方案的形成方式。

谢谢!

【问题讨论】:

  • 感谢编辑,但scenario最初是一个意大利语单词,因此复数形式是scenarii。 ;)
  • ADFS 尝试执行您所描述的操作。在您看来,是什么让它成为一个糟糕的选择?

标签: c# .net-4.5 wif


【解决方案1】:

首先 - 没有简单的 STS 这样的东西。我希望您意识到 STS 是关键的安全基础设施,可能不应该是您的第一个 WIF 项目。如果您想查看开源 STS 以获得一些想法,请查看此处:http://thinktecture.github.com/Thinktecture.IdentityServer.v2/

下一个 authZ 发生在服务器端(客户端是可用性)。简单的角色检查是使用 PrincipalPermission 完成的。 ClaimsPrincipalPermission 鼓励您将服务代码和安全代码分开 - 查找 ClaimsAuthorizationManager 以获取更多信息。

【讨论】:

  • 感谢您的回答。所以我可以使用 thinktecture STS,我必须从 ClaimsAuthorizationManager 派生来创建我自己的,然后在服务器端运行时初始化它以使 ClaimsPrincipalPermission 工作,对吗?
  • 您介意详细说明我该怎么做吗?就像我说的,我很迷茫,将不胜感激!谢谢!
  • 正如我所说 - 如果您想检查角色,请仅使用 [PrincipalPermission]。或在这里阅读:leastprivilege.com/2011/04/30/…
猜你喜欢
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 2016-08-21
  • 2013-07-21
  • 2016-11-18
  • 2012-11-20
相关资源
最近更新 更多