認証モジュールは、当社が取得する前に、ユーザーが入力したユーザー名とパスワードは、対応するユーザ情報テーブルから、独自のクエリを必要とするユーザー名とパスワードが一致しているオブジェクトはありません、その後、認証モジュールと非常にすることができ、ログイン認証方式のためのパッケージです。簡単には、ユーザーのログイン情報がデータベースに存在するかどうかを確認します。
また、認証セッションはまた、私たちは、ユーザーがログオンしているかどうかを確認するのに役立ついくつかのパッケージを作りました
私たちは、パスワードにこれらの操作を変更、登録、ログイン、ログアウトを達成するための認証モジュールを頼ることができます。
操作をサインアップ
ユーザーの方法インポートする必要がありますから認証モジュール
ユーザーオブジェクトのプロパティを:ユーザ名、データベースを使用するためのパスワード(必須)パスワードのハッシュアルゴリズムを保存した
is_staffを:。ユーザーがサイトの管理者権限を持っているかどうか
Is_active:ユーザーのログインを許可するかどうか、 `` Falseに設定``あなたはユーザーログインを無効にするには、ユーザーを削除することはできません
この表AUTH_USER認証モジュールのデフォルト
通常のユーザを作成するために使用さCREATE_USER
django.contrib.auth.modelsからユーザーをインポート
首先要从認証模块导入ユーザー方法 :DEF(リクエスト)を登録 request.methodが== 'GET'場合: リターンは(要求、 'register.html')をレンダリングし 、他: ユーザ名=要求を.POST.get( 'ユーザ名') PWD = request.POST.get( 'PWD') #User.objects.create(ユーザー名=ユーザー名、パスワード= PWD) User.objects.create_superuser(ユーザー名=ユーザー名、パスワード= PWD、 email='[email protected] ')
create_superuser是生成超级用户(管理员)
User.objects.create_user(ユーザー名=ユーザー名、パスワード= PWD)
はHttpResponseを返す(' successs')
上陸作戦
上陸作戦が使用されます (認証)をして 、ログイン(HttpRequestの、ユーザー)の二つの方法
認証する()
ユーザ名とパスワードが正しい検証し、ユーザー認証を提供し、それは通常、ユーザー名、パスワード2つのキーワード引数を取り
認証情報が有効であれば、それはユーザーオブジェクトを返します。認証()ユーザー認証バックエンド認証を識別し、ログイン情報、プロセスの後でユーザーオブジェクトの属性が必要になる上に提供されます。我々は認証なしでデータベースから直接取り出し()ユーザオブジェクトを上陸しようとしたときに文句を言うでしょう!!
ログイン(HttpRequestの、ユーザー)
ログインはのHttpRequestオブジェクトを受け取り、ユーザーオブジェクトが認定します
この関数は、セッションIDに付加情報を認証されたユーザのセッションDjangoフレームワークを使用し
認証django.contribをインポート
USER_OBJ = auth.authenticate(要求、ユーザ名=ユーザ名、パスワードPWD =)
##認証:主AUTHから-ユーザーのクエリは、このテーブルデータであり、オブジェクトはUSER_OBJ返す
IF USER_OBJを:
####セッション設定
auth.login(要求、ユーザー= USER_OBJ)
アクション:
1.クッキー、セッション設定
2からrequest.user発生オブジェクトを、オブジェクト関数ビューに再使用することができる
3からrequest.userオブジェクトはますrequest.sessionに対応