【发布时间】:2010-06-28 03:50:57
【问题描述】:
我正在尝试按照这一点将 Spring 安全性纳入框架
http://java.dzone.com/tips/pathway-acegi-spring-security-
我希望做一个基本的基于表单的身份验证,所以我认为这将是一个很好的指针。
如果我使用的是 spring security 3 库,会有什么不同吗?
身份验证管理器 xml 应该在哪个文件中?
【问题讨论】:
我正在尝试按照这一点将 Spring 安全性纳入框架
http://java.dzone.com/tips/pathway-acegi-spring-security-
我希望做一个基本的基于表单的身份验证,所以我认为这将是一个很好的指针。
如果我使用的是 spring security 3 库,会有什么不同吗?
身份验证管理器 xml 应该在哪个文件中?
【问题讨论】:
前段时间我完成了从 Acegi Security 到 Spring Security 的迁移,我应该说它非常顺利,没有任何重大问题。所以我假设这个库(实际上 Spring Security 是 Acegi 的后一个版本)没有太大的差异。
您可以包含AuthenticationProvider 实现或与安全任何上下文配置文件相关的任何配置。但是,通常最好保存在单独的 Spring XML 配置文件中,当您创建 ApplicationContext 实例时,该名称与主配置文件的名称一起作为参数传递。
假设你有课程MyAuthenticationProvider:
...
import org.springframework.security.providers.AuthenticationProvider;
...
public final class MyAuthenticationProvider implements AuthenticationProvider {
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
...
}
}
这个类是一个普通的 Spring bean,因此你可以注入你需要的任何其他 bean,特别是与“用户”表一起使用的 DAO 对象。在authenticate 方法中,您会收到部分初始化的Authentication 对象。它应该包含用户名和密码。在这里,您可以将用户凭据与数据库记录进行比较。
【讨论】:
也尝试这个并成功。这个包含文件更完整 http://static.springsource.org/spring-security/site/petclinic-tutorial.html
【讨论】: