我在我的jsf应用程序中使用shiro进行安全管理,我想知道如何在jsf页面中获取当前用户名,请指教。
我尝试了<shiro:principal/>
,但它总是返回空字符串,尽管用户已登录。
答案 0 :(得分:2)
Shiro标签适用于JSP,不适用于Facelets。 Shiro仍然处于J2EE时代,并且需要赶上称为“Java EE”的新世界,包括JSP的继任者Facelets。
幸运的是,至少可以通过HttpServletRequest#getRemoteUser()
以与容器管理身份验证相同的方式提供:
<p>Welcome, #{request.remoteUser}</p>
答案 1 :(得分:0)
有一个库可让您使用shiro with JSF:
<repository>
<id>bintray-deluan-maven</id>
<name>bintray</name>
<url>http://dl.bintray.com/deluan/maven</url>
</repository>
然后您可以使用:
<shiro:principal property="name"/>
但是要小心!它容易受到XSS的攻击!