カスタムServiceAuthorizationManagerを使用してCheckAccessをオーバーライドし、URLの一部であるカスタム認証トークンを検証します。私が検証した後、私はGenericPrincipalでThread.CurrentPrincipalを設定します。しかし、リクエストが最終的に私のサービスメソッドに到達すると、Thread.CurrentPrincipalはなくなりました。これは、認証マネージャで設定したものではありません。 どうしたのですか?WCFサービス認証マネージャーThread.CurrentPrincipalを設定します
3
A
答えて
6
私はサービスの認証マネージャを登録サービスの動作にprincipalPermissionMode =「なし」を設定しないことにより、この問題を回避ました:
は、詳細な紹介はこちらの記事を参照してください。これは、現在のスレッドにプリンシパルを置かないようにwcfランタイムに指示しているはずです。それを「カスタム」に設定すると、GenericPrincipalを使用して設定したプリンシパルを上書きします。
1
あなたは承認のための組み込みのメカニズムを使用したくない場合は、WCFは、現在のプリンシパルが適切WCFパイプラインに統合することがIAuthorizationPolicyを介して識別されている必要があります。 PrincipalPermissionModeに 'Custom'を指定する必要があります。 Authorization In WCF-Based Services
関連する問題
- 1. WCF認証サービス
- 2. WCFサービス認証メッセージ
- 3. 認証WCF RESTサービス
- 4. WCF Webサービス+認証
- 5. の認証WCFサービスASP.NETアプリケーション
- 6. WCF、ASP.NETメンバーシッププロバイダと認証サービス
- 7. WCFサービスでの認証
- 8. WCFサービスでの認証
- 9. スタンドアロン認証wcf Webサービス
- 10. WCFを使用した認証サービス
- 11. SilverlightとWCFサービス間の認証がASP.Net認証なし
- 12. Thread.CurrentPrincipalを非同期に設定しますか?
- 13. WCFクライアントとサービスの間の認証を維持しますか?
- 14. サービスのみのWCF証明書認証(クライアント証明書なし)
- 15. は、Windowsのライセンス認証サービス+ WCF COM +
- 16. IIS WCFサービス(NTLM認証のJAVA経由)
- 17. WCFサービスの双方向SSL認証
- 18. 安らかなWCFサービス認証
- 19. SessionIdによるWCFサービス認証
- 20. Windows認証WCFサービスの使用
- 21. SOA - 認証サービス設計
- 22. WCF REST C#サイトのoAuth認証を設定するには
- 23. Unity設定セクションとWCFサービス
- 24. 認証マネージャーで認証ハンドラを切り替える
- 25. acsを使用してwp7アプリケーションとwcfサービスを認証する
- 26. windows認証を使用してカスタム認証マネージャーを登録する方法
- 27. WCFサービスを検証
- 28. WCF - クライアントの認証にサービス証明書が必要ですか?
- 29. wcfサービスからMaxrecievedmessagesizeを設定する
- 30. wcfサービスをプログラムで設定する
あなたはあなたが言ったカスタム認証をどうやってやっていますか?これはPrincipalPermissionModeを 'None'として使用できますか? –
私はログイン中に認証チケットを送り、クライアントはそれを追跡し、それを後続のサービスで使用します。 authticketが有効でない場合、私はServiceAuthorizationManagerの実装からfalseを返します。それが有効な場合、私はcurrrentスレッドで一般的なプリンシパルを設定します。あなたはNoneにprincipalPermissionModeを設定しない場合は、あなただけの設定、一般的な原理は、どこかにラインの下の上書きされます。 – sash