本文将主要介绍spring boot 如何整合spring security
一、添加依赖
在pom.xml中添加如下配置,引入对Spring Security的依赖。
二、Spring Security配置
@EnableWebSecurity 注解开启Spring Security的功能
继承WebSecurityConfigurerAdapter,并重写它的方法来设置一些web安全的细节
方法configure(HttpSecurity http)
authorizeRequests()定义哪些URL需要被保护、哪些不需要被保护,例如以上代码指定了/
和/home不需要任何认证就可以访问,其他的路径都必须通过身份验证。。formLogin()定义了用户登录是指向的是哪个页面地址。
permitAll()代表了这些路径是不需要任何鉴权
configureGlobal(AuthenticationManagerBuilder auth)方法,在内存中创建了一个用户,
该用户的名称为user,密码为password,用户角色为USER,如果是实际使用过程一般需要结合自己的用户表去做。
新增登录请求与页面
在完成了Spring Security配置之后,我们需要新建一个Controller,让他跳转到我们自己定义的登陆页。
新增登录页面src/main/resources/templates/login.html
可以看到,实现了一个简单的通过用户名和密码提交到/login
的登录方式。根据配置,Spring Security提供了一个过滤器来拦截请求并验证用户身份。如果用户身份认证失败,页面就重定向到/login?error,并且页面中会展现相应的错误信息。若用户想要注销登录,可以通过访问/login?logout请求,在完成注销之后,页面展现相应的成功消息。
閱讀更多 程序員Home 的文章