[DB]認証と権限


The Django Authentication System🎨


認証→認証
権限の付与->権限の付与
アカウントに関連するアプリケーションを作成するときに、
アプリケーション名をaccountsとするのが便利です(おすすめ!!)👓)

HTTP特性🎄

  • 非接続性:サーバが要求に応答すると接続が切断される
  • .
  • ステータスなし(ステータスなし):接続が切断すると、クライアントとサーバ間の通信が終了し、ステータス情報は
  • を保持しない.
    ->クッキーと会話がある理由!!🧶

    クッキー🍪🍪🍪🍪🍪

  • サーバは、ユーザWebブラウザの小さなデータブロック
  • に送信する.
  • クッキーは、
  • をキー値として記憶する.
  • Cookie用途->セッション管理(ログイン、自動完了ID、カート、公告を表示しない日)/パーソナライズ/追跡
  • セッション🥩

  • サイトと特定のブラウザ間のステータス
  • クライアントはサーバに接続するとセッションIDを発行し、クライアントは発行したセッションIDをCookieの
  • に保存する.

    ログイン🍲

  • セッションの作成と同じ論理
    login(request, user, backend=None)
  • def login(request):
        if request.user.is_authenticated:
            return redirect('articles:index')
    
        if request.method == 'POST':
            form = AuthenticationForm(request, request.POST)
            if form.is_valid():
                # 로그인~~~~~~~~~~~
                auth_login(request, form.get_user())
                return redirect(request.GET.get('next') or 'articles:index')
        else:
            form = AuthenticationForm()
        context = {
            'form': form,
        }
        return render(request, 'accounts/login.html', context)
  • ログインはセッションに対してCREATEを行うプロセスである.
  • ログインフォーム->認証フォーム
  • ログアウト🎂

  • は、dbから現在要求されているセッションデータを完全に削除し、クライアントのCookieからセッションIDを削除する.
  • @require_POST
    def logout(request):
        if request.user.is_authenticated:
            auth_logout(request)
        return redirect('articles:index')