Spirng Acegi 身份认证连载3

来源:互联网 发布:数据挖掘平台有哪些 编辑:程序博客网 时间:2024/05/20 05:59

密码加密问题

  在Spring Acegi身份认证连载2中基础继续添加代码

步骤1 添加jar包文件

commons-codec.jar

步骤2 配置文件applicationContext-acegi-plugin.xml添加密码配置信息

<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
      <property name="userDetailsService" ref="userDetailsService"/>
      <!-- 密码算法 -->
      <property name="passwordEncoder">
         <bean class="org.acegisecurity.providers.encoding.Md5PasswordEncoder">
             <property name="encodeHashAsBase64" value="false" />
         </bean>
      </property>
      <!-- 加密盐 -->
      <property name="saltSource">
         <bean class="org.acegisecurity.providers.dao.salt.SystemWideSaltSource">
            <property name="systemWideSalt" value="saltSource"/>
         </bean>
      </property>
    </bean>

步骤3 修改数据库T_USER表中的用户名的密码

这里要使用一个类生成T_USER表的用户名密码,核心代码如下:

        Md5PasswordEncoder md5 = new Md5PasswordEncoder();
        md5.setEncodeHashAsBase64(false);

        //使用动态加密盐的只需要在注册用户的时候将第二个参数换成用户名即可
        String pwd = md5.encodePassword("tom", "saltSource");
        System.out.println("MD5 SystemWideSaltSource: " + pwd + " len=" + pwd.length());

这3步工序做完后,直接运行项目即可。

原创粉丝点击