http://blogs.msdn.com/drnick/archive/2007/03/23/preventing-anonymous-access.aspx
誰かがWCFでwsHttpBindingを使用して、トランスポート(ssl)やメッセージセキュリティを必要とせずにIISで匿名アクセスを無効にできるかどうかを明確にできますか?
http://blogs.msdn.com/drnick/archive/2007/03/23/preventing-anonymous-access.aspx
誰かがWCFでwsHttpBindingを使用して、トランスポート(ssl)やメッセージセキュリティを必要とせずにIISで匿名アクセスを無効にできるかどうかを明確にできますか?
あなたが説明したシナリオでは、 wHttpBinding では、内部の WCF セキュリティ スタックを使用する必要があります。したがって、通常行うことは
それはあなたにとって受け入れられる解決策ですか、それとも他に考慮すべき点はありますか?
基本的な例:
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>
Windows 統合セキュリティを使用したいと考えています。IIS で匿名アクセスを無効にしてウィンドウのみを許可すると、何らかのセキュリティ モード (ssl を必要とするトランスポート セキュリティなど) を使用しないと、WCF で wsHttpBinding を使用できないようです。
Windows 認証のみを使用したいので、必ずしもトランスポート セキュリティに ssl を使用する必要はありません。
これは、インターン アプリケーションの非常に一般的なシナリオのように思われるため、(私のリンクで確認されたように) すぐに使用できるわけではないことに少し驚きました。
Windows 認証のみをサポートする basicHttpBinding にダウングレードしたくありません。