控制器类方法:@RequestMapping(value = "/admin", method = RequestMethod.GET)public String adminPage() { return "privatePage";弹簧安全配置:<http auto-config="true"> <intercept-url pattern="/admin" access="hasRole('ROLE_ADMIN')" /></http><authentication-manager> <authentication-provider> <password-encoder ref="bCryptPasswordEncoder" /> <user-service> <user name="admin" password="passwordEncoder.encode(123456)" authorities="hasRole(ROLE_ADMIN,ROLE_USER)" /> </user-service> </authentication-provider></authentication-manager><beans:bean id="bCryptPasswordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"> <beans:constructor-arg value="10" /></beans:bean>错误:您的登录尝试不成功,请重试。原因:凭据错误。感谢任何回应。
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
解决方案
<user-service>
<user name="admin" password="$2a$10$hbxecwitQQ.dDT4JOFzQAulNySFwEpaFLw38jda6Td.Y/cOiRzDFu"
authorities="ROLE_ADMIN" />
</user-service>
评论
admin@123 相当于 $2a$10$hbxecwitQQ.dDT4JOFzQAulNySFwEpaFLw38jda6Td.Y/cOiRzDFu 这个编码密码。所以,在密码文本中给 admin@123。
用于转换编码值的类
BCryptPasswordEncoder b=new BCryptPasswordEncoder();
String str=b.encode("admin@123");
System.out.println("Encoding "+str);
生成编码值。
添加回答
举报
0/150
提交
取消