SpringSecurity与SSM框架的集成

1,导到springsecurity的pom依赖

2,将框架的filterChain放入web.xml文件中

3,配置springSecurity的配置类

  • @EnableGlobalMethodSecurity(prePostEnabled=true)

  • 配置静态资源和登陆页放行 

  • 配置登陆页面和登陆成功页

  • 配置自己实现的userServiceDetails

    • UserServiceDetails实现类中查询用户的角色和权限,并进行封装为User对象,User类可以自己定义一个,为了是方便存储数据库中查询到的登陆对象的所有信息。(框架自带的User对象只能存储用户名,密码)

    • 可以关闭csrf功能,方便进行测试。

    • 改变提交页面的登陆提交地址,修改提交表单的username和password的value。

    • 改变新增用户的密码编码器和用户修改的密码编码器

4,此时springSecurity的@preAuthorize的注解只能加到service层中(因为spring容器的原因)。因为在框架中我们将SpringSecurity框架加到了spring的IOC容器中,springMVC的ioc容器无法获得SpringSecurity框架的类。因为springMVC的容器包含了spring容器,springMVC可以调用spring容器中的组件,反之则不能。

      解决方法:只让一个容器去扫描即可。将spring的contextLoaderListener从web.xml中注释掉,然后在springMVC的dispatcherServlet中将spring的配置 加上。

5,区别对待普通请求和ajax请求。。通过请求头的xhr进行判断。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值