良い一日。私はこれを行う方法の例をあちこち探してきました、そしてそれのビットを実装する方法に関するあらゆる種類の有用な情報を見つけましたが、全体的な解決策はまだ私を理解していません。
承認/認証メカニズムを実装したい3層のWebベースのアプリケーション(プレゼンテーション層はWebフォーム、ビジネス/DAL層はWCFWebサービス、DBはOracle)があります。
私の考えは、Enterprise Library Securtyブロックを使用してWCFサービスでトークンを生成し(そしてそこにキャッシュし)、トークンIDをWebアプリサーバーに送り返すことでした。トークンIDは(Cookieを介して)クライアントブラウザーに返送され、その後のすべての要求はWCFサービスに返されます。このトークンIDは、要求メッセージのヘッダーで渡されます。次に、いくつかのWCF拡張性インターフェイスを使用して、キャッシュ内のIDを探して認証を確認します。また、トークンを使用してロールをキャッシュし(単純なロールベースのアクセスを使用している)、ユーザーのロールリストへのメモリ内アクセスを可能にし、アクセスチェックごとにDBラウンドトリップを回避できるようにしました。 。
この部分は正しい道のりに関して意味がありますか?もしそうなら、ここに2番目の部分があります。
今私の問題は、プレゼンテーション層をホストしているWebサーバーからの役割アクセスとセッション管理をどのように管理するかです。私はビジネスレイヤーからロールを管理していますが、web.configsを介して各ページへのロールベースのアクセスも使用したかったので、プレゼンテーションレイヤーでもロールにアクセスする必要があります。どうすればよいですか?また、役割をこのレイヤーに戻す必要がありますか?このロールリストのバージョンを保存しなければならないサービスとWebアプリの両方に何か臭いがあります。
どんな援助も大歓迎です!