如何使用shiro在jsf页面中获取当前用户名?

时间:2013-07-29 19:04:21

标签: jsf-2 shiro

我在我的jsf应用程序中使用shiro进行安全管理,我想知道如何在jsf页面中获取当前用户名,请指教。

我尝试了<shiro:principal/>,但它总是返回空字符串,尽管用户已登录。

2 个答案:

答案 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的攻击!