针对此要求的Spring Security最佳实践

时间:2014-01-13 15:18:04

标签: java spring authentication spring-security

当前Spring应用需要从POJO库添加其他身份验证检查。 POJO库包括几个可供选择的自定义验证模块。有些可能非常简单,例如检查来自数据库的URL中的用户名和加密密码,或者从文件中检查,其他可以是LDAP身份验证或Web Service身份验证。

棘手的部分是当前应用程序在security.xml中有自己的身份验证方法,我们不想妥协任何一个。

我的目标是让这项工作基于最小的改变。

我认为可能有几种解决办法,但试图找到一个好的做法:

  1. 自定义Spring authentication provider以处理身份验证管理器的pojo身份验证
  2. 为pojo自定义Spring pre-authentication(或类似的东西)bean,让app安全性做下一步。
  3. 扩展filter class并注册web.xml,这样可以对现有的spring安全上下文进行最小的更改,但我不知道如何使其处理LDAP和WS身份验证。
  4. 以及许多其他选项,如果有人可以提供更好的提示。提前谢谢。

1 个答案:

答案 0 :(得分:1)

创建一个自定义Spring身份验证管理器,扩展已存在的管理器。调用super.authenticate(),如果经过,则添加额外的身份验证逻辑。