发布于 2012-11-16 00:28:07
如果您打算依靠容器通过使用@RolesAllowed注释来强制授权,那么答案是肯定的,您将需要JAAS。
至于它是否复杂,这实际上取决于您将使用的LoginModule实现。容器确实提供了开箱即用的LoginModule实现,特别是用于身份验证,如文件、LDAP服务器或数据库。如果这是您所需要的全部,那么您可以使用这些,而不是连接您自己的实现。
如果您真的想要像Antonio Goncalves那样编写LoginModule,那么您需要理解LoginModule和JAAS的角色。他的模块在身份验证过程中使用他的应用程序中内置的CustomerService。该模块只是通过CDI BeanManager查找CustomerService bean,并将所有身份验证请求委托给findCustomer(username, password)方法。如果没有为所提供的凭据找到客户,则会抛出LoginException。
https://stackoverflow.com/questions/13401304
复制相似问题