spring security对密码进行加密后就无法登陆了

HelloWenye 2016-07-21 09:53:28
加精
我用的是java configure来配置spring security,我先将一段密码,用BCryptPasswordEncoder加密存入数据库中,接下来在登陆的时候不知道怎么处理密码了,我是这样做的。

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.jdbcAuthentication()
.dataSource(dataSource).passwordEncode(new BCryPasswordEncoder());
}

无法登陆,提示验证不通过,后台也不报错,小弟有个疑问,是我配置的有问题吗?spring security配置加密必须用自己定义的userdetialService吗?这样写不对吗?求指导啊,spring security的密码验证
...全文
4248 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35741841 2016-07-29
  • 打赏
  • 举报
回复
66666666666666666666
qq_35739007 2016-07-29
  • 打赏
  • 举报
回复
威威企鹅EE
nettman 2016-07-27
  • 打赏
  • 举报
回复
--cyan 2016-07-27
  • 打赏
  • 举报
回复
spring security 的配置里面有加密这一步,如果加密的话,我是先在登录前进行解密验证,然后再进行loadUserByUsername中的方法,这样做不太好,但我也没找到其他的验证方法、如果你找到好的方法,大家一起分享啊
nolan4954 2016-07-26
  • 打赏
  • 举报
回复
如果是自定义表单,需要配置下。如:
protected void configure(HttpSecurity http) throws Exception {	
		http
		.csrf().disable()
		.authorizeRequests()
		.antMatchers("/user/**").hasRole("USER")
		.antMatchers("/admin/**").hasRole("ADMIN")
			.anyRequest().authenticated()
			.and()
		.formLogin()
			.loginPage("/login.html")
			.usernameParameter("username")
			.passwordParameter("password")
			.loginProcessingUrl("/login")
			.defaultSuccessUrl("/login-success.html")
			.failureUrl("/login-error.html")
			.permitAll()
		.and()
		.logout().logoutUrl("/logout")
		.logoutSuccessUrl("/logout-success.html");
	}	
nolan4954 2016-07-26
  • 打赏
  • 举报
回复
不需要人工去获取密码,对比密码是否正确。需要去实现UserDetailsService,实现其中的loadUserByUsername就好了。
KPeng Zuo 2016-07-25
  • 打赏
  • 举报
回复
Let me see
  • 打赏
  • 举报
回复
给你看个例子 http://blog.csdn.net/u013571243/article/details/47778231 我估计你看了 问题就解决了!
cattpon 2016-07-25
  • 打赏
  • 举报
回复
为什么无法登陆?
ljheee 2016-07-23
  • 打赏
  • 举报
回复
不用 这个 加密,之前测试可以登录吗?
nettman 2016-07-23
  • 打赏
  • 举报
回复
qq_35681982 2016-07-23
  • 打赏
  • 举报
回复
具体代码我忘了咋写了,给你个思路,首先登陆访问action,你把你登陆页面传过来的用户名到数据库去查询,如果数据库返回空,证明登陆用户名是错的,如果查询有直,你再把前台传过来的密码加密,和数据库查询到的密码做比较,相同就登陆成功,然后跳转页面,不想同就跳转到登陆页面,就是这样,手机不好写代码,差不多就是这样
wensui3 2016-07-22
  • 打赏
  • 举报
回复
引用 楼主 HelloWenye 的回复:
我用的是java configure来配置spring security,我先将一段密码,用BCryptPasswordEncoder加密存入数据库中,接下来在登陆的时候不知道怎么处理密码了,我是这样做的。

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
	auth
		.jdbcAuthentication()
			.dataSource(dataSource).passwordEncode(new BCryPasswordEncoder());
}
无法登陆,提示验证不通过,后台也不报错,小弟有个疑问,是我配置的有问题吗?spring security配置加密必须用自己定义的userdetialService吗?这样写不对吗?求指导啊,spring security的密码验证
不清楚
HelloWenye 2016-07-22
  • 打赏
  • 举报
回复
人工置顶一下,希望能遇到知道的人

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧