Spring Security 体验

Spring Security 体验

因为要做RBAC权限管理,查了一些资料,决定使用Spring Security,因为项目使用SSM做的,正好也想对Spring的相关框架有更多了解。
具体教程就不详细说了,网上有很多,自己也是参考了这篇博文
[spring security 登录、权限管理配置](http://www.voidcn.com/blog/rongku/article/p-5803970.html),主要记录下自己在实现过程中遇到的一些坑。
  1. 实现接口的时候使用@Autowired 不能注入bean。
    我在applicationMVC.xml中扫描了service包和controller包,在实现Spring Security的接口的时候,比如UserDetailsService,FilterInvocationSecurityMetadataSource,使用@Autowired注解并不能注入各个bean,而在Controller里面是没有问题的,这个我也找了好久,但是没有弄明白。后来取消注解方式,又在applicationContext-security.xml中扫描了对应的service文件,使用property注入才解决问题。
  2. 表单提交url问题
    开始使用的是自己写的url,用户名和密码一直提交不上去。百度之后说是/j_spring_security_check是spring security 表单提交的默认配置。还有用户名和密码,改成j_username和j_password才提交成功。
  3. Spring Security接口实现
    这个应该是遇到的最棘手的问题了,要了解各个接口的作用,这个网上也有很多文章具体说了,还要根据自己的数据设计具体实现代码。同时对Spring Security的执行过程要有一点了解,不然码起代码来也是云里雾里,参考了下面的文章:
    Spring Security 学习笔记(5)一个Http请求的具体执行过程
  4. 密码加密问题
    在applicationContext-security.xml中,配置了密码md5加密,
    xml
    <beans:bean id="encoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"></beans:bean>
    <authentication-manager alias="myAuthenticationManager">
    <authentication-provider user-service-ref="myUserDetailServiceImpl">
    <password-encoder ref="encoder" />
    </authentication-provider>
    </authentication-manager>

    但是数据库中的密码是明文存储的,所以登录的时候即便输入密码正确也不会登录成功。这个是自己没有注意,结果弄了半天,程序没有报错,就看控制台的信息,好不容易才看见一条信息说密码匹配不正确,这才发现问题。
    还有一些其他问题就不一一说了,主要还是对spring security不太了解造成的,熟悉了之后才发现这些问题其实并不难解决。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值