0

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

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

4

2 回答 2

2

Shiro 标签适用于 JSP,而不适用于 Facelets。Shiro 还停留在 J2EE 时代,需要赶上被称为“Java EE”的新世界,包括 JSP 的继任者 Facelets。

幸运的是,它至少可以通过与容器管理身份验证相同的方式使用HttpServletRequest#getRemoteUser()

<p>Welcome, #{request.remoteUser}</p>

也可以看看:

于 2013-07-29T19:13:32.370 回答
0

有一个库允许您将shiro 与 JSF一起使用:

    <repository>
        <id>bintray-deluan-maven</id>
        <name>bintray</name>
        <url>http://dl.bintray.com/deluan/maven</url>
    </repository>

然后你可以使用:

<shiro:principal property="name"/>

但小心点!它容易受到 XSS 的攻击!

于 2018-07-07T22:28:39.603 回答