我正在与安全的社交整合进行游戏2.1.截至目前,我能够使用SALAT将securesocial与mongod db集成.现在我可以登录/注销.但现在我想要的是如果用户已登录,那么我需要在我的Web应用程序的标题中显示像头像等用户信息,我不知道如何在
scala.html中获取用户信息而不传递params控制器.我不能每次都这样做.
我们是否有类似于spring security的东西,它可以从会话中获取用户并使用EL或spring taglib来显示用户信息???
解决方法
遗憾的是,这个社区非常不活跃或者不想回答这个问题.即使在几年之后,我仍然会发现spring和
java社区回答了最基本的问题.所以这就是我所做的.非常欢迎任何改进或建议.
implicit def user(implicit request: RequestHeader):Option[Identity] = { SecureSocial.currentUser }
将此用户传递给我的模板并使其隐式.想知道为什么它不能直接从控制器使用它.我必须明确传递它,这非常奇怪.
@(implicit user:Option[securesocial.core.Identity])
由于用户信息必须位于所有页面中,因此必须将其包含在主模板或主模板中,调用另一个呈现用户信息的模板.在我的主模板中=>
@(title: String,nav: String = "")(content: Html)(implicit user:Option[securesocial.core.Identity]=None)
然后一些查看相关的代码
@if(user.isDefined){ <li> <a href="@securesocial.controllers.routes.LoginPage.logout()"/>logout</li> }else{ <li> <a href="@securesocial.core.providers.utils.RoutesHelper.login()">Login</a></li> }