我一直在使用自己的内部自定义授权模型,该模型评估用户是否有权查看、编辑、删除或创建项目。例如,我使用它的一个地方是确定用户是否有权查看资源。我有一些限制,例如项目是否发布、用户是否属于必要的组/角色等。
我将所有这些信息存储在数据库中,在其中审核权限以及谁更改了给定实体的权限。为了评估用户是否具有权限,我有一个 Hibernate 事件监听器,它获取当前用户和其他上下文信息,并根据实体对其进行评估。
这是一个很好的安全模型吗?JAAS/JAAC 或 DROOLS 在这里效果更好吗?
最佳答案
Spring Security 和 Shiro 可能是使用最广泛的安全框架,我现在可能会将它们用于项目。然而,当应用程序服务器已经经过全面测试并内置集成安全性(JAAS)时,在应用程序服务器之上再有一个层似乎是一种耻辱。我很期待看到什么PicketBox必须提供,Seam Security 3.0建立在它的基础上,它似乎更自然地适合应用程序服务器已经提供的功能,只是具有一些不错的功能,例如开放 ID 支持。
关于java - JAAS/JAAC、DROOLS 或自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127802/