Usersによるユーザー認証とエンティティ操作 (2/6)
作成:2010-01-03 19:00
更新:2010-05-10 21:33
更新:2010-05-10 21:33
■usersによるログイン処理の基本
アノテーションによる処理は非常に簡単ですが、自分なりにログイン状態をチェックし、必要に応じてログイン画面に飛ばすような処理を組み込む場合もあります。またPOSTではアノテーションは使えませんから、これは自分で必要な処理を作る他にありません。そこで、usersを使ったログイン処理の基本について理解しておきましょう。
以下に、usersのもっとも基本となる4メソッドを整理しておきます。ユーザーのログインチェックは、「create_login_url」というメソッドを使います。これは、現在アクセスしているユーザーの「Users」インスタンスを得るものです。もし、ログインしていなければ、これはNoneになります。
このUsersでは、ログインしているユーザーに関する情報(アカウント名、ニックネームなど)を調べることができます。ただし、パスワード情報のように外部に知られてはならない情報は、得られません。アカウントに関するプライバシー情報はしっかりと守られています。
ログインしていなかった場合には、Googleアカウントのログインページに移動をしてログインを行います。これは、「users.create_login_url」というものでログインページのURLを取得し、そのページにリダイレクトするだけです。ログインページでのログイン処理は、すべてGoogleのほうでやってくれますので、GAE側で処理する必要はありません。
このusers.create_login_urlでは、引数にアドレスが指定されます。これは、ログイン後に移動するページのアドレスです。これを指定することで、ログインした後に自動的にそのページが表示されます。
これと同様に、ログアウトのアドレスを得る「users.create_logout_url」もあります。ただし、ログアウトは、きちんとしたページは用意されていません。ただ単に、そのアドレスにアクセスするとログアウトされるというだけです。
以下に、usersのもっとも基本となる4メソッドを整理しておきます。ユーザーのログインチェックは、「create_login_url」というメソッドを使います。これは、現在アクセスしているユーザーの「Users」インスタンスを得るものです。もし、ログインしていなければ、これはNoneになります。
このUsersでは、ログインしているユーザーに関する情報(アカウント名、ニックネームなど)を調べることができます。ただし、パスワード情報のように外部に知られてはならない情報は、得られません。アカウントに関するプライバシー情報はしっかりと守られています。
ログインしていなかった場合には、Googleアカウントのログインページに移動をしてログインを行います。これは、「users.create_login_url」というものでログインページのURLを取得し、そのページにリダイレクトするだけです。ログインページでのログイン処理は、すべてGoogleのほうでやってくれますので、GAE側で処理する必要はありません。
このusers.create_login_urlでは、引数にアドレスが指定されます。これは、ログイン後に移動するページのアドレスです。これを指定することで、ログインした後に自動的にそのページが表示されます。
これと同様に、ログアウトのアドレスを得る「users.create_logout_url」もあります。ただし、ログアウトは、きちんとしたページは用意されていません。ただ単に、そのアドレスにアクセスするとログアウトされるというだけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※ログインしているユーザのUsersインスタンスを得る users.get_current_user() ※ログインしているユーザーが管理者かどうか調べる users.is_current_user_admin() ※ログインページのURLを得る users.create_login_url( 戻り先のアドレス ) ※ログアウトページのURLを得る users.create_logout_url( 戻り先のアドレス )
※関連コンテンツ
「PythonによるGoogle App Engine(GAE)プログラミング入門」に戻る