前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Spring Security 认证

Spring Security 认证

作者头像
Tim在路上
发布2020-08-04 23:46:44
发布2020-08-04 23:46:44
35600
代码可运行
举报
运行总次数:0
代码可运行

认证用户所要实现的方法还是configure(HttpSecurity)配置如何通过拦截器保护请求。

认证指的是通过用户密码登一系列信息认证,在配置Spring Security时我们免费获得了一个登录界面。

代码语言:javascript
代码运行次数:0
运行
复制
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{}

即使重写configure(HttpSecurity),也可通过这个.formLogin()方法来使用默认页面。

当然也可以重写登录页面。

启用HTTP Basic认证

如果要启用HTTP Basic认证的话,只需要在configure()方法所传入的HttpSecurity对象上调用httpBasic()即可。另外,还可以通过调用realmName()方法指定域。如下是在Spring Security中启用HTTP Basic认证的典型配置:

代码语言:javascript
代码运行次数:0
运行
复制
@Override
protected void configure(HttpSecurity http) throws Exception{
    http
      .formLogin()
        .loginPage("/login")
      .and()
      .httpBasic()
         .realmName("Spittr")
      .and()
      ...
}
启用remember-me功能

只要在方法上添加

代码语言:javascript
代码运行次数:0
运行
复制
http
   ...
   .rememberMe()
         .tokenValiditySeconds(2419200)
         .key("spittrKey")

即可

我们指定这个token最多四周内有效(2,419,200秒)。存储在cookie中的token包含用户名、密码、过期时间和一个私匙——在写入cookie前都进行了MD5哈希。默认情况下,私匙的名为SpringSecured,但是这里我们将其设置为spitterKey,使他专门用于Spittr应用。

代码语言:javascript
代码运行次数:0
运行
复制
<input id="remember-me" name="remember-me" type="checkbox"/>
<lable for="remember-me" class="inline">Remember me</label>

我们需要有一种方式来让用户表明他们希望应用程序记住他们。为了实现这一点,登录请求必须包含一个名为remember-me的参数。在登录表单中,增加一个简单复选框就可以完成这件事:

退出

默认security退出页面是到登录页面,如果想重定义到其他页面可以在其中添加方法配置。

代码语言:javascript
代码运行次数:0
运行
复制
.logout()
         .logoutSuccessUrl("/")
``
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启用HTTP Basic认证
    • 启用remember-me功能
    • 退出
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档