spring security系列三:spring boot 集成security

本文将主要介绍spring boot 如何整合spring security

一、添加依赖

在pom.xml中添加如下配置,引入对Spring Security的依赖。

spring security系列三:spring boot 集成security

二、Spring Security配置

spring security系列三:spring boot 集成security

  • @EnableWebSecurity 注解开启Spring Security的功能

  • 继承WebSecurityConfigurerAdapter,并重写它的方法来设置一些web安全的细节

  • 方法configure(HttpSecurity http)

    authorizeRequests()定义哪些URL需要被保护、哪些不需要被保护,例如以上代码指定了/
    /home不需要任何认证就可以访问,其他的路径都必须通过身份验证。。

    formLogin()定义了用户登录是指向的是哪个页面地址。

    permitAll()代表了这些路径是不需要任何鉴权

  • configureGlobal(AuthenticationManagerBuilder auth)方法,在内存中创建了一个用户,

    该用户的名称为user,密码为password,用户角色为USER,如果是实际使用过程一般需要结合自己的用户表去做。

新增登录请求与页面

在完成了Spring Security配置之后,我们需要新建一个Controller,让他跳转到我们自己定义的登陆页。

spring security系列三:spring boot 集成security

新增登录页面src/main/resources/templates/login.html

spring security系列三:spring boot 集成security

可以看到,实现了一个简单的通过用户名和密码提交到/login
的登录方式。根据配置,Spring Security提供了一个过滤器来拦截请求并验证用户身份。如果用户身份认证失败,页面就重定向到/login?error,并且页面中会展现相应的错误信息。若用户想要注销登录,可以通过访问/login?logout请求,在完成注销之后,页面展现相应的成功消息。

spring security系列三:spring boot 集成security


分享到:


相關文章: