如果this是在Java EE 6中验证用户身份的最佳方法之一。
在身份验证/用户登录中使用JAAS有什么好的理由吗?谈论包装:
javax.security.auth
JAAS对简单webapp的应用程序并不简单,所以这就是我要问的原因。这是example.
无论如何都可能需要授权。
答案 0 :(得分:3)
如果您打算通过使用@RolesAllowed
注释来依赖容器来强制执行授权,那么答案是肯定的,您将需要JAAS。
至于它是否复杂,它实际上取决于您将使用的LoginModule
实现。容器确实带有开箱即用的LoginModule
实现,尤其是对文件,LDAP服务器或数据库等身份存储进行身份验证。如果这就是您所需要的,那么您可以使用它们而不是连接自己的实现。
如果你真的想写一个类似Antonio Goncalves的LoginModule
,你需要了解LoginModule
和JAAS的作用。他的模块在身份验证过程中使用内置于其应用程序中的CustomerService
。该模块只是通过CDI CustomerService
查找BeanManager
bean,并将所有身份验证请求委托给findCustomer(username, password)
方法。如果找不到提供的凭据的客户,则抛出LoginException
。