【问题标题】:spring security quick start春季安全快速入门
【发布时间】:2010-06-28 03:50:57
【问题描述】:

我正在尝试按照这一点将 Spring 安全性纳入框架

http://java.dzone.com/tips/pathway-acegi-spring-security-

我希望做一个基本的基于表单的身份验证,所以我认为这将是一个很好的指针。

如果我使用的是 spring security 3 库,会有什么不同吗?

身份验证管理器 xml 应该在哪个文件中?

【问题讨论】:

    标签: spring spring-security


    【解决方案1】:

    前段时间我完成了从 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 对象。它应该包含用户名和密码。在这里,您可以将用户凭据与数据库记录进行比较。

    【讨论】:

    • 我已经完成了 AuthenticationProvider 的教程说明,并将它们放在一个单独的 xml 中,即 applicationContext-security 中,并将其包含在 applicationContext.xml 中。现在我需要弄清楚如何让他们使用 daoAuthenication 管理器,它从数据库中读取用户密码?
    【解决方案2】:

    也尝试这个并成功。这个包含文件更完整 http://static.springsource.org/spring-security/site/petclinic-tutorial.html

    【讨论】:

    • 我试过那个,但失败了。尝试构建时出现 gradle 构建错误。此外,我不得不手动签出 SVN 存档,eclipse 中的 SVN 插件由于某种原因没有签出某些文件。我希望那个教程有更多的细节......
    猜你喜欢
    • 2013-12-22
    • 2014-02-02
    • 2012-12-13
    • 2017-11-30
    • 2021-05-12
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多