2012-08-13 52 views
2

我正在基於金字塔框架的python web應用程序。我正在嘗試向其添加會話身份驗證。據我瞭解:(會話)在金字塔網絡應用程序中的身份驗證

  • 用戶可以登錄/退出(安全性是可取的);用戶數據都保存在一個數據庫
  • 認證通過會話(request.session

首先處理:是會話驗證一個不錯的選擇,還是有更好的?其次:我不能真正地製作文檔和示例的正面或反面。

到目前爲止,我已經跟隨http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/tutorials/wiki2/authorization.html#adding-login-and-logout-views到目前爲止,我有一個登錄/註銷的形式。但是,我的authn_policyhttp://docs.pylonsproject.org/projects/pyramid/en/latest/api/authentication.html#pyramid.authentication.SessionAuthenticationPolicy

由於金字塔中的會話工廠不安全(請參閱http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/sessions.html),我使用* pyramid_beaker *代替。

的配置是: 在__init__.pysession_factory = session_factory_from_settings(settings)

.ini文件:

beaker.session.lock_dir = %(here)s/data/sessions/lock 
beaker.session.type = ext:database 
beaker.session.sa.url = mysql://user:[email protected]:3306/db 
beaker.session.table_name = user_session 

我希望我能夠讓我的問題清楚。

回答

0

我想說這取決於你想要做什麼。如果使用Beaker,會話身份驗證正常工作,但我喜歡使用AuthTktAuthenticationPolicy來獲取額外的超時和重發選項,即使您清除會話,身份驗證也不會消失。

+0

請詳細說明......使用Beaker進行會話時是否存在超時和重發選項? – 2013-01-25 22:19:52

+0

無論您使用什麼會話,標準SessionAuthenticationPolicy都沒有選項。 – tuomur 2013-01-29 13:48:02

相關問題