一般大家使用Spring Security的时候,需要自定义加密方法
因为要兼容以前的旧项目
当然如果是新项目,可以直接使用Spring Security自己内置的动态加密算法。
这里说说如何自定义Spring Security的加密方法:
public class SunPasswordEncoder implements PasswordEncoder{ //@实现加密的方法,既将明文转换为密文的方法 public String encodePassword(String rawPass, Object salt) throws DataAccessException { String pass = null; try { pass = Tools.encryptBasedDes(rawPass); } catch (Exception e) { e.printStackTrace(); } return pass; } //@验证密码是否有效的方法,返回'true'则登录成功 public boolean isPasswordValid(String encPass, String rawPass, Object salt) throws DataAccessException { String pass1 = "" + encPass; String pass2 = encodePassword(rawPass, salt); return pass1.equals(pass2); } 接下来就是配置bean和依赖,指定加密方式为自定义的 <bean id="myEncoder" class="com.xxx.common.SunPasswordEncoder" /> <!-- 后台管理权限认证 --> <sec:authentication-provider user-service-ref="xxxxxxServiceImpl"> <!-- sec:password-encoder hash="md5" / --> <sec:password-encoder ref="myEncoder" /> </sec:authentication-provider>