加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 每次都在我的网络应用程序的标题中显示登录用户信息

发布时间:2020-12-16 18:04:20 所属栏目:安全 来源:网络整理
导读:我正在与安全的社交整合进行游戏2.1.截至目前,我能够使用SALAT将securesocial与mongod db集成.现在我可以登录/注销.但现在我想要的是如果用户已登录,那么我需要在我的Web应用程序的标题中显示像头像等用户信息,我不知道如何在 scala.html中获取用户信息而不
我正在与安全的社交整合进行游戏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>
 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读