1

現在プロセスとしてホストされている WCF (コールバックあり) サービスを作成していますが、最終的にはサービスになります。Windows ドメイン環境で netTCP バインディングを使用していますが、クライアントはドメイン内の別のマシン (Windows フォーム クライアント) にあります。私はすべてのバインディング、メソッドなどをトランスポート レベルで Windows セキュリティと連携させ、SPN を配置しています。

現在、セキュリティを実装しており、いくつかのメソッドでこのパターンを使用しようとしています (すべてを保護する必要はありません)。

<PrincipalPermission(SecurityAction.Demand, Role="MyDomain\DataReader")>
public Function GetData() As String

    return "Test String"
End Function

(例) これにより、適切にユーザーが許可され、ロールに含まれていないユーザーがブロックされます。

私の問題は、サービス エンドで例外が発生することです (プロセスがそこから実行されると、VS でこれを確認できます)。クライアントはセキュリティ例外を取得しませんが、代わりにタイムアウトします。

セキュリティ例外が発生したことを呼び出し元に正しく戻して、ユーザーにメッセージを渡すにはどうすればよいですか。

4

0 に答える 0