settings.pyの設定
'django.contrib.sessions.middleware.SessionMiddleware'を追加する。
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.cache.CacheMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
'django.contrib.sessions',を追加する。
INSTALLED_APPS = (
|
'django.contrib.sessions',
|
)
syncdbの実行
$python manage.py syncdb
Creating table django_session
参考資料
HTTPセッションの仕組み
シーケンスは以下の通り。
①クライアントからサーバーへ個人情報サイトに入る
ex). http://localhost/login/info/にリダイレクトさせる
まずはログインしないと入れないのでログインサイトへreverse()を使ってリダイレクトする
HttpResponseRedirect(reverse('signin_company_login_v1'))
②ここではまだsessinできていないのでログイン画面を返す
sessionの確認をしてなければログイン画面を表示する
ex).http://localhost/account/login/index.html
return render_to_response('login/regist.html')
③ID, PassWordをサーバーにPOSTする。
ex).http://localhost/acount/login/
{'id' : 'aaaa', 'password' : 'bbbb'}
④サーバーからクライアントへSessionIDを発行
データベースでログイン、パスワードのチェックを行う。
認証OKならば、request.session['user_id']にハッシュ化したsessionIDを入れる。
sessionIDをクライアントへGETする、でいいのかな?
⑤クライアントからセッションIDをパラメータとしてサーバーへPOSTする。でいいのかな?
参考サイト