春のクラウドセキュリティ戦闘サービス-3-13マイクロリファクタリング、コード_batch

アクセストークンの要求ヘッダを有するアクセス及び着陸をすることができ、コードは、両方のモードをサポートしましょう。

まず、復興のコードを実行します

ここでは、後に問題があるだろうというように変更されたgetSession()を変更し、その後、私はhttpBasicで正常に上陸し、内側に自分のユーザ情報セッションは、後続の要求は、Authorizationリクエストヘッダー缶のアクセスを取ることはありません。
私はあなたがログインしていない場合、あなたはこれを可能にするあなたが内部の頭毎回訪問するHttpBasicこの方法を使用して、効果を達成するために願っています。あなたが上陸しない限りその後、訪問の時間は、道をリードすることはできません。アベニューは、この効果のために、我々はhttpBasicによって、このように確立されたセッションのセッションの下で区別する必要があります。
これを次のようにgetSesisonはhttpBasicこのようにして作成されています。

もう一つの方法は、着陸を呼び出すことです、セッションの方法を作成するために内側に上陸した

彼のメソッドの呼び出しが終了した後、httpBasicセッションのうちに作成このように、効果があるに到着したいが、ときに、このセッション外の破壊に戻ります。
セッションがなくなったときに、次回ので、彼は再び思いつきました。彼は、その後、あなたがリクエストにアクセスすることができ、トークンで手なければなりません。
だから、この効果をヒットする、それが最終的に試みを書くためにここにある

フィルタを呼び出そうと内側に配置されます。コール・フィルタを試してみるの内部に配置されています。そして、最終的に彼が出て失敗させるために何か。

だから、問題が出て失敗します上陸セッションの作品を書くことがされています。だから私は判断をする必要があります。セッションのhttpBasic温度におけるもう一つのセッション。それが空でない判断し、セッションが失敗したオフしましょう。

我々は今もアクセスサポートへの着陸を支援することをhttpBasic訪問


受け取るためのUserInfoと


動き回るために、もともとユーザーで書かれた方法


のUserInfo内のカットにコードを




このプロパティは、過去にコピーされ、注意がコピーではなく、カットです。

SecurityConfig

ここに書き込む前に死んでいる、と今私ははっきりと私は、ユーザーセッションの内部情報を取得したいことを知っている

春は、静的メソッドを持っていること、それは私たちがセッションを取得することができます

キャストを。




我々は現在のリクエストから取得し、その後のセッションで要求を取得することができますServeltRequestAttribute


今AuditorWareは、あなたがそれを取得し、ユーザー名を返すことができます誰が実際のユーザーに基づくことができます。最終監査ログは、ユーザー名がある場合は、現在ログインしています。

復興の詳細は完了です。

実行(Do)終了操作

セッション失敗をしてみましょう。

ここでは、その後のUserInfoになって

ランタイム

コードは、応答バックと呼ばれている要求が入ってきたときにコードが呼び出された明確なフィルタは、このメソッドインターセプタとして、直感的ではないようで、存在しない

preHandler afterCompletionと直感的な外観迎撃。 


今では見た目が上陸しなかった要求ではありません。それは401を返し



、当社のリクエストヘッダもたらすために

、ユーザ情報を帯域要求ヘッダを得ました。


リクエストヘッダを削除まだすべての要求のバックセッションへのアクセスのいずれかhttpBasic応答がクリアされることはできません。

テスト着陸




成功した着陸した後、最初に我々が上陸しているので、我々のアプローチへのアクセスを要求することなく、サーバがセッションを保持

する方法出口それを呼び出すために

出た後、その後、getUserメソッドを呼び出して


、私たちが望む結果を得るために上記の手法をこれは、2つの認証方式をサポートしています。コースプロセスのフロー制御、認証、監査、許可があり、そうしている
すべてのセキュリティメカニズムが装備されている必要があります。

終了

 

おすすめ

転載: www.cnblogs.com/wangjunwei/p/11930488.html