gpt4 book ai didi

wcf wsHttpBinding 和禁用匿名访问

转载 作者:行者123 更新时间:2023-12-04 20:04:02 26 4
gpt4 key购买 nike

http://blogs.msdn.com/drnick/archive/2007/03/23/preventing-anonymous-access.aspx

有人可以澄清是否可以在 WCF 中使用 wsHttpBinding 并在不需要传输 (ssl) 或消息安全性的情况下禁用 IIS 中的匿名访问?

最佳答案

你是对的,afaik 在你描述的场景中 wsHttpBinding 要求我们使用内部 WCF 安全堆栈。所以你通常会做的是

  • 启用匿名访问
  • 使用 创建 serviceBehavior
  • 使用 PrincipalPermissionAttribute 注释服务方法的每个具体实现,这是一个非常强大的工具,具有许多不同的选项来控制访问

  • 这对您来说是一个可以接受的解决方案吗,或者还有其他需要考虑的事情吗?

    基本示例:
    public class TestService : ITestService
    {
    [PrincipalPermission(SecurityAction.Demand, Name = "testdomain\\administrator")]
    public string DoWork()
    {
    return "Hello World " + Thread.CurrentPrincipal.Identity.Name;
    }
    }

    <system.serviceModel>
    <behaviors>
    <serviceBehaviors>
    <behavior name="WcfSecurity.Www.TestServiceBehavior">
    <serviceMetadata httpGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="false" />
    <serviceAuthorization principalPermissionMode="UseWindowsGroups" />
    </behavior>
    </serviceBehaviors>
    </behaviors>
    <services>
    <service behaviorConfiguration="WcfSecurity.Www.TestServiceBehavior" name="WcfSecurity.Www.TestService">
    <endpoint address="" binding="wsHttpBinding" contract="WcfSecurity.Www.ITestService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
    </services>
    </system.serviceModel>

    关于wcf wsHttpBinding 和禁用匿名访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228268/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com