【问题标题】:WCF and PrincipalPermissionWCF 和 PrincipalPermission
【发布时间】:2009-04-24 21:42:53
【问题描述】:

我有许多服务将在 NT Authority\System 的安全上下文中作为 Windows 服务运行(这些服务是基于 NetTCP 的)。 Active Directory 中存储的六个组将被允许访问这些服务:

用户 代理 审批人 管理员(三级管理员)

我知道我可以使用 ServiceSecurityContext.Current.WindowsIdentity.Name 获取连接到服务的用户。

我需要做的是在业务层中验证传入的用户上下文是否能够访问特定服务,并且我希望它遵循我公司支持的旧应用程序,该应用程序使用 PrincipalPermission 传递它角色并使用 Demand() 方法确保访问。

我想我最初的问题是,如果我将 ServiceSecurityContext 用户名和相关角色(组)传递给 PrincipalPermission,它会自动知道在幕后点击 Active Directory,因为该服务是在 AD 帐户的上下文中运行的同一个域?或者有什么特别的事情我应该做的吗?

【问题讨论】:

    标签: wcf security authentication windows-identity principalpermission


    【解决方案1】:

    没错,当你要求一个角色时,它会调用 IPrincipal.IsInRole。这将使用主体拥有的任何实现。所以,如果它设置为 Windows,它会做所有的工作来命中 AD。

    【讨论】:

    • 完美,我会相应地编写我的安全层。感谢您这么快的回复!
    猜你喜欢
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多