DEF ---三の大認定、JWT認定

三認定

認定コンポーネント

違法ユーザーの正当なユーザー、訪問者ログに:認定は、以下の3つのタイプを含み、

RBACモデル:

RBAC:ロールベースのアクセス制御、で、どのような()方法(例:ユーザー、役割)who--が所有者またはプリンシパルの権限である、動作しての、what--リソースまたはオブジェクト(リソース、クラス)

3つのテーブル権限と許可の5つの表、3つのテーブルの権限=>特権5表:2伝統的なRBACがあります。

Djangoの認証コンポーネントの使用の権限6つのテーブル(RBACに基づく従来のリレーショナルテーブルで増加)

あなたは、パケット中の時間ことができますので、6つの相関するテーブルで、その結果、許可対多の関係の間で確立されたユーザテーブル、グループテーブル、テーブルには、ユーザーではなく、配布のための一つ一つに対して複数のユーザー権限に配布されます。

ジャンゴでは、ユーザ・テーブルを作成する認証モジュールを使用して、ユーザ管理テーブルは、最初のデータベースの移行に完了しなければなりません

is_active:それはアクティブなユーザーであるかどうか、0を削除する変化を表し

is_staff:それは背景のユーザーが管理者の操作が可能であるかどうか

権限のコンポーネント

アクセスするユーザーの許可するかどうかを判定し、分割ユーザー権限レベル

権限を持っています

権限がありません

周波数成分

各時間帯へのアクセス頻度へのアクセスを制限します

JWT認証ルール

JWT:JSONウェブトークン

JWT認定の利点:

1.データベースはトークン格納する必要はありません、それは、サーバーIO操作(なしIO操作)を低減します

2.クライアントの預金トークンは、サーバーの店舗のみをチェックアルゴリズム、高効率で発行されます

3.チェックアルゴリズムの発行は、次のJWT認定規則ので、サーバークラスタは非常に簡単に行うことです、複数のサーバーに直接団結することができ

JWT認証突破口:

1.tokenが溶液8 /逆ではない部分もまた、溶液の一部は、カウンタができ、複数の部品を有していなければならない、三JWTに使用されています

2.tokenでは、有効期限を含める必要があり、安全性と適時トークンを確保するために、

JWTの原則:

ヘッド1.jwt負荷。シグネチャー三つの部分

2.データ・ディクショナリの各部分は、不可逆的な暗号化HS256を使用して、JSON、ヘッダとペイロードBASE64可逆暗号化アルゴリズム、署名であります

コンテンツ:

1.ヘッド(一般情報):可逆非可逆暗号化アルゴリズムを採用、会社名、チーム情報、開発者向け情報

2.ロード(コア情報):ユーザのホームキー、ユーザーアカウント、クライアントデバイス情報、有効期限(追加されます)

3.署名(セキュリティ情報):第一の暗号化の結果、負荷の暗号化の結果、サーバセキュリティコード(塩)

発行されたアルゴリズム:

1.ヘッドコード化されたコンテンツは、({}空であってもよい)、BASE64列JSONへのデータフィールド暗号化された文字列に変換しました

2.負荷の内容、ユーザーアカウントは、クライアントデバイス情報は、クライアントによって提供され、ユーザがテーブルによって提供されるクライアントアカウントとパスワード検証を決定する主キーで、現在時刻に応じて生成された有効期限の組み合わせおよび構成の有効期限

前記コンテンツの署名、最初のヘッダの暗号化の結果、部材としてのペイロードの暗号化結果、および、サーバからセキュリティコードを取る(任意のクライアントノウハウを任せることはできない)、あなたはさらに、部分負荷(ユーザ情報、装置情報)を含むことができます

4. 3つの文字列の接続3、生成されたトークン

チェックアルゴリズム:

クライアントから1. get要求は三つのセグメント(そうでない場合は三つのセクション、違法)に細分化して、トークンを提出しました

2.ヘッド(最初の段落)を復号することはできません、

3.荷重(第2段階)は、JSON BASE64文字に復号化するために、復号化されたJSON辞書データに変換する必要があり、

ユーザーが存在するかどうかを決定するために、ユーザーのプライマリキーのクエリおよびユーザアカウントUserテーブル、

この要求を提出した比較情報機器の機器情報、同じデバイスかどうかを決定する前と後、ユーザーが(例:SMSメールボックスプロンプトリモートログイン)、安全のためのヒントを作成するかどうかを判断する(同じセキュリティができ、またIP、着陸地点、など)

有効時間内にトークンかどうか、現在の慣行とは対照的に有効期限

チェックサム衝突暗号化4.署名(第三段階)、

形成されたヘッダ、ペイロード、およびデータベース・セキュリティ暗号化コード列辞書JSONは、それが文字列JSONに変換されます

暗号化文字列HS256を使用して、不可逆的な暗号化された形式

署名衝突コントラストの第三段落を持つ新しい暗号化された文字列は、トークンが正当であることを確認してきました

ローディングユーザ検証により得られたアルゴリズムの前部は、トークンは、ログインユーザ(からrequest.userにユーザ・ログに格納されている通常のDjango項目)で表されます。

最新の情報に更新アルゴリズム:

、後にリフレッシュする最も効果的な時間をトークン発行した最初の時間:、トークン発行二つの情報を追加するための余分な時間をロードするには1

2.各リクエストは、チェックアルゴリズムを行くことだけではなく、トークンを運ぶ、認証トークンが正当なものであるが、また、(追加のリフレッシュトークンインタフェース、完全リフレッシュトークン、検証ルールおよび検証アルゴリズムほとんどを要求したが、有効期限後に移動したいです超えた場合、クライアントに新しいトークンを有効時間を超えない、リフレッシュ)が失敗しました

3.だから、サーバーの有効期限を設定するだけでなく、最大リフレッシュ時間を設定するだけでなく、

おすすめ

転載: www.cnblogs.com/whkzm/p/12131379.html