2011-10-18 39 views
1

私はasp.netサイトを持っています.Windows AuthとAnonymous Authの両方を一緒に使用する必要があります。Windows認証とフォーム認証

ログオンしているユーザーのユーザー名を取得する必要があるため、Windowsの認証が必要ですが、サイトでは匿名でアクセスする必要があるWebサービスも実行されます。

Windows認証をオンにすると、ユーザーを取得できますが、正常に動作しますが、Webサービスを呼び出すサイトで401エラーが返されます。匿名アクセスを追加しても、Webサービスを使用するサイトはうまく動作しますが、ログインしたユーザーのユーザー名を取得できなくなります。

どのようにすれば、私は両方の利点を得ることができますか?つまり、ユーザー名を取得しても、Webサービスを停止することはできません。

答えて

1

あなたは、Windows認証の制御下にあるメインのサイトを維持しながら、ディレクトリツリー内

<location path="path.to.web.service"> 
    <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

を特定の場所へのアクセスを無効にするには、次を追加することができます。

参照:http://msdn.microsoft.com/en-us/library/b6x6shw7.aspx

+0

クール - 完全にnoobのように聞こえるの危険にさらされて、どのような形式path.to.web.serviceはにすべきですか? – Ben

+0

ディレクトリ/ service.asmxまたはおそらくservice.asmx – ChrisBint

+0

伝説 - ありがとうChris。 – Ben