![](/img/trans.png)
[英]In Play 2 framework (Java), how to add User object to session after authentication
[英]User Authentication - Play Framework, Java
我是 Play 框架的新手。 我正在通過創建各種類型的場景來練習(Play + Java),例如與數據庫鏈接、使用 JPA 從數據庫中檢索數據、主詳細信息表單、將數據保存到數據庫等。
我想實現用戶身份驗證。 用戶登錄到應用程序。 要訪問應用程序用戶必須有授權。
例如:員工 - 添加/編輯/查看/刪除。 一些用戶可能擁有所有權限,而一些用戶只有查看或添加/編輯/刪除或僅編輯。 即使在員工編輯選項中,用戶也只能編輯某些字段,例如不允許員工姓名但員工地址可以編輯。 即現場級授權。
謝謝
使用身份驗證控制器檢查用戶登錄 ID/密碼class AuthController @Inject()(cache: CacheApi, cached: Cached, actorSystem: ActorSystem) extends Controller {
如果 id/password 正確,則生成一個 UUID 密鑰,並使用 UUID 密鑰將用戶對象 (uservo) 存儲在內存緩存中。 密鑰可以存儲在瀏覽器 cookie 中。
val cacheTimeout = 10.minutes val key = UUID.randomUUID.toString cache.set(key, uservo, cacheTimeout) Ok().withSession( request.session + ("key" -> key) )
(request.session.get("key").flatMap { key => cache.get[Uservo](key) } map { uservo => // need to set cache with "key" again, or else the memory will timeout in 10 minutes cache.set(request.session.get("key").get, uservo, cacheTimeout) // do the action.. }).orElse { // failed and return to login home page Some(Future(Redirect("/").withNewSession)) }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.