我想在Play應用程序中支持用戶認證。這是Web應用程序,我認爲內置的「安全」模塊對於我的需求來說太簡單了。實際上,用戶組討論了安全模塊如何真正用於演示紫羅蘭。但是,我怎樣才能開發出這樣一個系統呢?Play框架用戶認證/成員資格
本質上,應用程序將允許用戶登錄,那麼他們將有自己的設置等整個申請中提出申請。有些頁面未經身份驗證的用戶可以查看,但如果客戶端已通過身份驗證,那麼這些頁面的視圖將會不同。很簡單的設置,但大多數文檔只是指簡單的安全模塊。
我想在Play應用程序中支持用戶認證。這是Web應用程序,我認爲內置的「安全」模塊對於我的需求來說太簡單了。實際上,用戶組討論了安全模塊如何真正用於演示紫羅蘭。但是,我怎樣才能開發出這樣一個系統呢?Play框架用戶認證/成員資格
本質上,應用程序將允許用戶登錄,那麼他們將有自己的設置等整個申請中提出申請。有些頁面未經身份驗證的用戶可以查看,但如果客戶端已通過身份驗證,那麼這些頁面的視圖將會不同。很簡單的設置,但大多數文檔只是指簡單的安全模塊。
可以使用PlayPlugins這一點。我開始編寫一個以強大的方式啓用安全性的插件。這是從BasisSecurity for Grails遷移而來的。目前我沒有找到進一步發展的時間。你可以在這裏看到當前狀態https://code.launchpad.net/~opensource21/+junk/permsec。
從您的要求當前的認證模塊似乎不夠。如果不是,我做了我的項目是:
我沒有我的代碼方便把樣品在這裏,但總的來說我:
,因此會檢查與該用戶的標誌的註釋的值。類似的信息(僞)
VAR確定:布爾=假 OK =確定|| (annotation.value == 「管理員」 & & currentUser.isadmin) OK =確定|| (annotation.value ==「監督員」 & & currentUser.issupervisor) ...
有了這個,我有一個安全的系統,它似乎工作得很好(手指交叉:P)
不知道它是否能幫助你,但看看鎖舌模塊來管理訪問權限的意見/控制器...
http://www.playframework.org/modules/deadbolt-1.0/home
如果你唯一的特殊要求是,有些頁面是公開可見的,我有你的答案:Play framework: How to require login for some actions, but not all。我剛剛複製了安全模塊並做了一些小的添加。
我不明白爲什麼默認安全模塊不能滿足您的需求 – Ricardo 2011-02-28 08:32:36
@Ricardo - 這絕對不是唯一的要求。 Secure Module有一個很好的框架,但你仍然需要實現OpenID/Facebook Connect/Password salting。有幾個模塊可以做更多的事情:SecureSocial和OpenID一次,但是SecureSocial是非常新的並且仍然有點粗糙,並且OpenID太基礎。 – ripper234 2011-11-29 09:57:42