我的任务是将现有的 JSF 应用程序拆分为 JAX-RS Web 服务和 JSF Web 客户端。拆分应该在业务层完成。客户端和服务器都应该在不同的 JBoss AS7.1 上运行 现在,双方都在使用容器管理的身份验证。JSF 客户端仅授予具有 CUST 角色的用户对 uri-path /customers/* 的访问权限,以及具有角色 ADMIN 的用户对 /admin/* 的访问权限。当然,网络服务也保护他的资源(角色:CUST 和 AMDIN)。Web 服务部分的身份验证对我来说很清楚。所以我的问题是如何为 JSF 客户端提供正确的身份验证。对我来说有三种可能:
- 双方管理自己的身份验证(难以同步)有没有办法在两个 JBoss 应用服务器之间同步经过身份验证的用户?
- 双方管理自己的身份验证凭据,JSF 客户端将每个请求发送
UsernamePasswordCredentials
到 Web 服务 - 容器管理的身份验证仅在 Web 服务端完成。JSF 客户端尝试请求信息,如果出现类似“peer not authenticated”的响应,JSF 客户端会强制用户输入他的凭据并再次执行请求
UsernamePasswordCredentials
我真的不知道这三种方法中的哪一种(或是否)可行。我在网上搜索了最佳实践方法,不幸的是没有任何成功。
是否有任何已知的最佳实践方法来解决这个问题,或者你能给我一个关于如何解决这个问题的提示。