很遗憾这个社区如此不活跃或不想回答这个问题。即使在几年后,我仍然发现 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>
}