spring security(六)
2016-06-12 14:20
387 查看
在实际开发中,用户的密码应该是加密的,而不是明文存在数据库中。
在springSecurity.xml中增加下面的代码
<authentication-manager>
22 <authentication-provider>
23 <password-encoder ref="encoder" />
24 <jdbc-user-service data-source-ref="dataSource"
25 users-by-username-query="select d_username username,d_password password, d_enabled enabled from t_users where d_username=?"
26 authorities-by-username-query="select d_username username, d_role role from t_user_roles where d_username=? " />
27 </authentication-provider>
28 </authentication-manager>
29
30 <beans:bean id="encoder"
31 class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
32 <beans:constructor-arg name="strength" value="9" />
33 </beans:bean>
constructor-arg中定义的是加密后密文的长度,但是博主在开发中发现并没有效果,存储到数据库中依然是60位的密文。
2、如果你想测试生产的密文
package com.websystique.springsecurity.util;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
public class AdminPassword {
/**
* @param args
*/
public static void main(String[] args) {
String password = "admin";
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
System.out.println(passwordEncoder.encode(password));
}
}
详细请看网址:http://www.cnblogs.com/yjmyzz/p/use-bcrypt-algorithm-hashing-password-in-spring-security3.html
在springSecurity.xml中增加下面的代码
<authentication-manager>
22 <authentication-provider>
23 <password-encoder ref="encoder" />
24 <jdbc-user-service data-source-ref="dataSource"
25 users-by-username-query="select d_username username,d_password password, d_enabled enabled from t_users where d_username=?"
26 authorities-by-username-query="select d_username username, d_role role from t_user_roles where d_username=? " />
27 </authentication-provider>
28 </authentication-manager>
29
30 <beans:bean id="encoder"
31 class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder">
32 <beans:constructor-arg name="strength" value="9" />
33 </beans:bean>
constructor-arg中定义的是加密后密文的长度,但是博主在开发中发现并没有效果,存储到数据库中依然是60位的密文。
2、如果你想测试生产的密文
package com.websystique.springsecurity.util;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
public class AdminPassword {
/**
* @param args
*/
public static void main(String[] args) {
String password = "admin";
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
System.out.println(passwordEncoder.encode(password));
}
}
详细请看网址:http://www.cnblogs.com/yjmyzz/p/use-bcrypt-algorithm-hashing-password-in-spring-security3.html
相关文章推荐
- eclipse, Log4j配置(真心的详细~)
- [LeetCode][11]Container With Most Water解析 时间复杂度为O(n) -Java实现
- Java创建线程的两个方法
- Android Eclipse安装Ant插件
- java.lang.OutOfMemoryError: PermGen space
- JAVA Calendar详解(转)
- Java WebService 简单实例
- Struts2学习笔记(1)
- POI操作WORD文档,生成的新文档为空白文档 -- 待解决
- Java 集合框架
- spring mvc常用的注解:
- Java 六种异常处理的陋习
- struts2标签详解
- java使用google验证码jar包
- Java编程开发设计模式之--抽象工厂模式(Abstract Factory)
- java 原型模式
- Spring 中的SpEL
- struts2类型转换器日期转换小例详解
- maven工程里面install时jdk报错
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)