在Spring启动应用程序中使用Shiro spring boot starter 1.4.0并且无法弄清楚如何将shiro principalCollection数据提取到我的百万美元模板中以用于其他表达式等...
我在shiro中存储了一些轻量级用户数据,并希望使用当前用户的名字和上次登录时间显示自定义消息
例如:
<p th:text="#{welcome.lastlogin.message(${???.firstName},${???.lastLoginTime})}">..Hello, user, how are you today?..</p>
我确实转储了session属性以查看shiro存储主体的内容,我在会话中看到了这一点:
org.apache.shiro.subject.support.DefaultSubjectContext_PRINCIPALS_SESSION_KEY = john.doe@somewhere.com, {userID = 1,firstName = John,lastName = Doe,loginAttempts = 0,lastLoginTime = Mon Jan 22 09:30:47 EST 2018}
我的代码使用HashMap并将其添加到主体...
这甚至可能吗?
编辑:我想另一种选择就是不使用shiro principalCollection用于此目的并将我自己的对象放入会话中并使用来自百万美元的它。
答案 0 :(得分:0)
看看thymeleaf-extras-shiro,它可能完全符合您的要求。否则,我猜你需要使用principalCollection.getPrimaryPrincipal()