Java JAAS真的需要用于身份验证吗?

Java JAAS真的需要用于身份验证吗?,java,security,jakarta-ee,authentication,jaas,Java,Security,Jakarta Ee,Authentication,Jaas,在JavaEE6中,If是对用户进行身份验证的最佳方法之一 在身份验证/用户登录中使用JAAS有什么好的理由吗?谈论包装: javax.security.auth JAAS应用程序到一个简单的Web应用程序并不是微不足道的,所以这就是为什么我要问这个问题。这是一个 无论如何,授权都可能需要它。如果您要依靠容器通过使用@RolesAllowed注释来强制授权,那么答案是肯定的,您将需要JAAS 至于它是否复杂,实际上取决于您将要使用的LoginModule实现。容器确实附带了现成的LoginMo

在JavaEE6中,If是对用户进行身份验证的最佳方法之一

在身份验证/用户登录中使用JAAS有什么好的理由吗?谈论包装:

javax.security.auth
JAAS应用程序到一个简单的Web应用程序并不是微不足道的,所以这就是为什么我要问这个问题。这是一个


无论如何,授权都可能需要它。

如果您要依靠容器通过使用
@RolesAllowed
注释来强制授权,那么答案是肯定的,您将需要JAAS

至于它是否复杂,实际上取决于您将要使用的
LoginModule
实现。容器确实附带了现成的
LoginModule
实现,特别是针对文件、LDAP服务器或数据库等身份存储进行身份验证。如果这就是您所需要的,那么您可以使用它们,而不是连接您自己的实现


如果您真的想像Antonio Goncalves那样编写
LoginModule
,那么您需要了解
LoginModule
和JAAS的作用。他的模块在身份验证过程中使用内置于其应用程序中的
CustomerService
。模块只需通过CDI
BeanManager
查找
CustomerService
bean,并将所有身份验证请求委托给
findCustomer(用户名、密码)
方法。如果未找到提供凭据的客户,将抛出
LoginException

如果您要依靠容器通过使用
@RolesAllowed
注释强制执行授权,那么答案是肯定的,您将需要JAAS

至于它是否复杂,实际上取决于您将要使用的
LoginModule
实现。容器确实附带了现成的
LoginModule
实现,特别是针对文件、LDAP服务器或数据库等身份存储进行身份验证。如果这就是您所需要的,那么您可以使用它们,而不是连接您自己的实现


如果您真的想像Antonio Goncalves那样编写
LoginModule
,那么您需要了解
LoginModule
和JAAS的作用。他的模块在身份验证过程中使用内置于其应用程序中的
CustomerService
。模块只需通过CDI
BeanManager
查找
CustomerService
bean,并将所有身份验证请求委托给
findCustomer(用户名、密码)
方法。如果未找到提供凭据的客户,将抛出
LoginException

PicketBox是Jboss的开箱即用LoginModule实现吗?@jacktrades PicketBox作为模块在Jboss AS7中提供(请查看Jboss_HOME/modules/org/PicketBox下)。如果您正在编写自定义安全模块,则会有所帮助。但是,如果您正在寻找AS7中开箱即用的标准模块,这是一个很好的参考。AS7中的标准登录模块由
org.picketbox
JBoss模块提供。>
通过使用@RolesAllowed注释来强制授权,那么答案是肯定的,您将需要JAAS。
这并不完全正确。事实上,这根本不是真的;)JavaEE中没有任何东西,绝对没有任何东西需要使用JAAS
@RolesAllowed
是一个通用注释,目前只有EJB给出了它的含义。使用EJB进行身份验证的方式要么由容器决定,容器绝对不必使用JAAS,要么由SOAP或Servlet传播身份验证,在标准JavaEE中可以使用JASPIC,它也不必使用JAAS。>
容器提供了现成的LoginModule实现
——这也不是完全正确的。像GlassFish和JBoss这样的一些容器有一个基于JAAS类型的专有身份验证机制,但是以一种非常具体的方式使用了
LoginModule
,甚至有人会问,为什么要首先使用这种类型。其他服务器(如Liberty)或servlet容器(如Tomcat)根本不使用JAAS(甚至不是很弱),但具有基于完全不同类型的“标识存储”。一般来说,认为JAAS是JavaEE中的一些标准技术是一个非常常见的错误。不幸的是,根本不是。请参阅和,PicketBox是Jboss的开箱即用LoginModule实现吗?@jacktrades PicketBox在Jboss AS7中作为一个模块提供(请查看Jboss_HOME/modules/org/PicketBox)。如果您正在编写自定义安全模块,则会有所帮助。但是,如果您正在寻找AS7中开箱即用的标准模块,这是一个很好的参考。AS7中的标准登录模块由
org.picketbox
JBoss模块提供。>
通过使用@RolesAllowed注释来强制授权,那么答案是肯定的,您将需要JAAS。
这并不完全正确。事实上,这根本不是真的;)JavaEE中没有任何东西,绝对没有任何东西需要使用JAAS
@RolesAllowed
是一个通用注释,目前只有EJB给出了它的含义。使用EJB进行身份验证的方式要么由容器决定,容器绝对不必使用JAAS,要么由SOAP或Servlet传播身份验证,在标准JavaEE中可以使用JASPIC,它也不必使用JAAS。>
容器提供了现成的LoginModule实现
——这也不是完全正确的。像GlassFish和JBoss这样的一些容器有一个基于JAAS类型的专有身份验证机制,但是以一种非常具体的方式使用了
LoginModule
,甚至有人会问,为什么要首先使用这种类型。其他服务器(如Liberty)或servlet容器(如Tomcat)根本不使用JAAS(甚至不是很弱),但具有基于完全不同类型的“标识存储”。一般来说,认为JAAS是JavaEE中的一些标准技术是一个非常常见的错误。不幸的是,这是什么