SpringSecurity 初体验

目录

1. 搭建环境

1.1 导入相关依赖

1.2 在web.xml中加入相关的过滤器

1.3 添加配置类

2. 用户登录认证

2.1 放行资源

2.2登录认证

2.2.1在内存中进行验证登录

2.2.2 在数据库中进行验证登录

3. 权限控制

3.1 Handler方法的权限控制

3.2使用全局配置控制

3.3 页面元素权限控制


1. 搭建环境

1.1 导入相关依赖

<!-- SpringSecurity 对Web 应用进行权限管理-->

<dependency>

     <groupId>org.springframework.security</groupId>

     <artifactId>spring-security-web</artifactId>

     <version>4.2.10.RELEASE</version>

</dependency>

<!-- SpringSecurity 配置-->

<dependency>

     <groupId>org.springframework.security</groupId>

     <artifactId>spring-security-config</artifactId>

     <version>4.2.10.RELEASE</version>

</dependency>

<!-- SpringSecurity 标签库-->

<dependency>

     <groupId>org.springframework.security</groupId>

    <artifactId>spring-security-taglibs</artifactId>

     <version>4.2.10.RELEASE</version>

</dependency>

1.2 在web.xml中加入相关的过滤器

SpringSecurity的本质就是使用一组过滤器(Filter)来做权限相关的限制,Filter的过滤范围不仅仅是SpringMVC中的Handler的请求,还包括了整个Web应用的所有请求。

这也就是SpringSecurity的权限控制范围。

注意:springSecurityFilterChain过滤器名称不能更改,只有这个名称才能加载那一个过滤器。

要添加的过滤器:

 <filter>

      <filter-name>springSecurityFilterChain</filter-name>

      <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>

</filter>

<filter-mapping>

     <filter-name>springSecurityFilterChain</filter-name>

     <url-pattern>/*</url-pattern>

</filter-mapping>

1.3 添加配置类

@Configuration

@EnableWebSecurity

public class WebAppSecurityConfig extends WebSecurityConfigurerAdapter {

                  ……

}

@Configuration :标注此类为配置类

@EnableWebSecurity:启用Web环境下的权限控制

2. 用户登录认证

2.1 放行资源

放行的这些资源至少要包含静态资源,登录界面以及登录请求地址(登录的表单要提交的地址),如果登录请求地址不放行的话,SpringSecurity会认为登录请求地址也需要登录成功以后才能访问,而实际上我们要在登录请求地址对应的Handler中完成真正的登录操作。不放行就会陷入死循环。

放行资源的方法:      

 @Configuration
//启用Web环境下权限控制功能
@EnableWebSecurity
publ
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值