【问题标题】:Is WindowsIdentity.Impersonate() necessary for WCF services?WCF 服务是否需要 WindowsIdentity.Impersonate()?
【发布时间】:2013-10-16 23:38:54
【问题描述】:

我在 WCF 服务上使用 Windows 身份模拟。每次我需要模拟时是否需要调用 identity.Impersonate() ,或者 WCF 可以为我做吗?如果可以,那我应该指定什么配置?

【问题讨论】:

    标签: wcf impersonation


    【解决方案1】:

    您可以在客户端配置中使用windows 元素的allowedImpoersonationLevel 进行设置:

    <windows allowedImpersonationLevel="Identification/Impersonation/Delegation/Anonymous/None"
        allowNtlm="Boolean"/>
    

    此页面解释了更多内容,并向您展示了此元素在配置文件中的位置。 http://msdn.microsoft.com/en-us/library/ms731356(v=vs.100).aspx

    【讨论】:

    • 感谢您的回答,但我还不清楚。我应该将此添加到客户端或服务器 web.config 文件中吗?添加到服务器时无法启动服务。
    • 这是客户端设置。我包含的链接显示了它应该在配置树中的位置。以下是有关 WCF 中模拟的更多信息msdn.microsoft.com/en-us/library/ms730088.aspx
    • 另外,在服务端,你应该用这个属性标记所有需要模拟的服务操作[OperationBehavior(Impersonation = ImpersonationOption.Required)]这个页面,提供了一个关于WCF模拟的How-To,但是客户端是用代码实现的,而不是配置。 msdn.microsoft.com/en-us/library/ms751513.aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    相关资源
    最近更新 更多