我会老实说我已经是一个开发人员已经有一段时间了,但是我第一次听说过JACC和JASPIC.我知道它们是授权提供商使用的标准,但它们与JAAS的区别呢?我们什么时候会使用一个呢?
我做了一些初步的研究,不是我很懒惰去做.它只是在JACC和JASPIC上阅读文章有点淹没了我一点点,我需要在短时间内了解这一点,因为我需要在我即将到来的项目之一实现这一点.只要找到一个跳跃的开始对我的理解.
我希望有人能够清楚这一点.这是我的stackexchange的第一个帖子:-)
解决方法
JAAS包含在
Java SE中,主要用于
Java SE.这是关于代码级安全性(你信任的代码).
这对于Java EE来说并不直接,这是关于用户级别的安全性(你相信用户).
一些Java EE服务器可以使用基于JAAS LoginModules进行身份验证的东西,但JAAS的这种用法是非标准的,并且与Java SE中的功能相比非常浅.由于某种原因或其他原因,由于这个人认为Java EE中的安全性称为JAAS,但这完全相反.
JASPIC是Java EE 6服务器必须创建和插入其他身份验证机制的扩展点.您可以使用它来创建OAuth,OpenID等机制. JASPIC是与您的用户互动.它没有提到从LDAP或数据库等方面获取用户数据.您可以使用自己的代码或通过调用JAAS LoginModule来执行此操作. JASPIC确定如何以更加标准的方式将JAAS LoginModule连接到您的自定义机制.太糟糕了,还不是100%的标准,但至少要更好.
JACC是授权机制的另一个扩展点.您可以使用它以不同的方式进行授权,或只是审核授权. JACC还使您在web.xml中定义的所有安全限制可用于您的代码.您可以使用它来预先检查用户是否可以访问页面.与JASPIC不同,JACC在您的应用程序中很难实际激活.你需要混淆JVM参数等