Java Apache MyFaces 2.0身份验证和授权

Java Apache MyFaces 2.0身份验证和授权,java,authentication,jsf-2,authorization,Java,Authentication,Jsf 2,Authorization,我需要创建一个具有登录系统的webapp。 用户应该对数据库进行身份验证。 我想在会话中保存userrole,或者还有其他(更好的)方法吗 此外,还有用户访问的区域。 宾客区, 用户区, 行政区 现在的问题是。 如何使用jsf2.0轻松实现授权? 我不想在每个网站上测试,如果用户被允许访问该网站与否 web.xml或faces-config.xml中是否有测试案例的配置 有人能给我看一个教程或示例代码吗 谢谢并致以最良好的问候 veote您可以尝试这种方法,它使用PhaseListener检查用

我需要创建一个具有登录系统的webapp。 用户应该对数据库进行身份验证。 我想在会话中保存userrole,或者还有其他(更好的)方法吗

此外,还有用户访问的区域。 宾客区, 用户区, 行政区

现在的问题是。 如何使用jsf2.0轻松实现授权?
我不想在每个网站上测试,如果用户被允许访问该网站与否

web.xml或faces-config.xml中是否有测试案例的配置

有人能给我看一个教程或示例代码吗

谢谢并致以最良好的问候
veote

您可以尝试这种方法,它使用PhaseListener检查用户是否有权在恢复视图阶段访问当前站点。它很容易实现,并且可以在不同的服务器之间移植(与领域相反)

我不熟悉Websphere,但由于它是一个兼容Java EE 6的应用程序服务器,因此可以为此创建一个JDBCRealm。参见本章。

您还可以查看选项(Framewroks)

  • 如前所述,应用服务器提供了身份验证/授权
  • 实现过滤器(用于身份验证/授权的自定义自生逻辑)
  • 在JSF中介绍AnA的博客


  • 希望这有助于

    Websphere Application Server 8.0“我不想在每个站点上进行测试,如果允许用户访问该站点或不允许用户访问该站点。”您能否详细说明“每个站点”,您是否正在寻找多个站点的单点身份验证?或者你的意思是检查每个页面/链接??谢谢,但对我来说,这不是我认为最好的方式,因为也许我想用ldap更改数据库。@注意:我使用weblogic,但在一个领域中更改身份验证提供程序并不难,你可以轻松地切换技术。如果你看教程中的示例(根据我的经验),我同意巴加的观点,切换不应该那么复杂。谢谢,这看起来不错。是否有其他方法可以在web.xml/faces-config中配置此功能?嗯,不是很好。您可以指定受限制的页面以及如何记录用户,但它通常只适用于领域(有时很难设置所有页面并将其连接在一起)。顺便说一句,你为什么只想使用这些xml文件?在我看来,坚持经典编程风格而不是用xml来烦扰自己似乎更简洁易懂。我不知道ApacheShiro,值得一试吗?特别是与Spring安全性相比(如果你对这两种编程都有经验的话)@PetrMensik我还没有试过,但正如在博客上看到的,有时它确实值得一试。人们确实使用它。非常感谢,我认为shiro是我想要的。我试试看this@veote不客气,你可以把我的回答作为你问题的答案,我会得到一些分数;)