2009-06-30 3 views
0

こんにちは
ユーザーの役割を認証して与えるログインメソッドを持つWCFサービスを作成し、その役割に応じてユーザーが他のサービスメソッドを呼び出すことを許可または拒否します。それを行うための最良の方法はどれですか?これを達成するためのWCFスタンダードメカニズムはありますか?
ありがとう!WCFのメソッドレベルのセキュリティ

+0

このサービスは?アヤックスと呼ばれている方法は?シルバー?Webフォーム?他のウェブサイト? – blowdart

+0

ないWebベースの校長それはWPFスタンドアロンアプリケーションです –

答えて

1

基本的にはありません。ログインメソッドからチケットを返すことは安全ではありません。それを編集するアプリケーションを停止し、後続のリクエストごとに偽のバージョンを送信するのは何ですか?はい、あなたはそれに署名することができますが、あなたはかなり大きいものを送ります。

代わりに、毎回ユーザー名とパスワードの組み合わせが必要で、標準の認証と承認ビットとロールベースのCASを使用して、ロールに基づいてチェックして制限する必要があります。

WCFは、メッセージベースのセキュリティを使用するために必要なすべてをすでに提供しており、各要求でユーザー名とパスワードを要求します。これは標準のSOAP機能です。認証プロバイダにプラグインします(既にASP.NETメンバーシップ関数を使用している場合は簡単です)。次にロールをプラグインします(ASP.NETビットを使用している場合は簡単です)。roll your own

ロールあなたは、宣言許可が

[PrincipalPermission(SecurityAction.Demand, Role = "Administrators")] 
保護したい方法に

、あるいは全体のクラスを要求し使用することができます。

+0

+1良い方法は、これを行うには最高ですか?それぞれのメソッドにユーザー名のパスワードを渡すことは、私が... –

+1

がコメントに基づいて更新されたと思います。ユーザー名とパスワードを要求するのは標準のSOAP関数です。トークンベースのものはありません。 – blowdart

+0

ありがとうございました!今私は私の質問の答えを見る –

関連する問題