【发布时间】:2011-09-08 12:03:09
【问题描述】:
您在 Java 项目中使用什么安全框架?
我使用过 Spring Security 和 Apache Shiro,它们看起来都很不成熟。
Spring 安全漏洞:
- 不支持权限;
- 无法在 Java 代码中显式使用(有时是必需的);
- 过于关注经典(非 AJAX)Web 应用程序。
Apache Shiro 缺陷:
- 最终版本中的错误(如 Spring 集成问题);
- 不支持 OpenID 和其他一些广泛使用的技术;
- 报告了性能问题。
两者都缺乏文档。
也许大多数实际项目都开发了自己的安全框架?
【问题讨论】:
-
恕我直言,您的问题太模糊了。您对哪些方面感兴趣?
-
Spring Security 有角色,可用于“权限”。而“无法在 Java 代码中显式使用”是什么意思?
-
@user384706 我对一个结合了 SS 和 Shiro 优点的框架感兴趣,比如方便的权限模型和 OpenID 支持,并且没有描述它们的缺陷。
-
@matt 您自己回答了第一个问题。您说:“可用于许可的角色”。必须有正常的用户角色权限模型,而不是“角色作为权限”。目前 SS 对权限的支持看起来像这样:编写你自己的全功能 PermissionEvaluator 并且你很幸运。
-
@matt b “无法在 Java 代码中显式使用”意味着没有 SecurityContext.hasPermission("add_contact") 甚至没有 SecurityContext.hasRole("manager") 这样的方法。看到这个:[链接]stackoverflow.com/questions/3021200/… 那么,如何使用 SS 创建条件安全逻辑?当然我可以自己编写这样的方法,但我的问题是:是否有任何安全框架已经包含所有基本内容?
标签: java security spring-security shiro