博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用java代码配置 Spring Boot 中的 Spring Security 和 Rember me, Cookie记住密码
阅读量:5260 次
发布时间:2019-06-14

本文共 1537 字,大约阅读时间需要 5 分钟。

前言

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 [ 百度百科 ]

开始

1 .使用maven 引用spring security 等相关jar包

2 .在配置文件中编写如下代码,其中csrf表示提交方式,禁用后logout用get即可访问

http                    .authenticationProvider(formAuthenticationProvider)                    .authorizeRequests()                    .antMatchers("/error", "/favicon.ico", "/content/**", "/login", "/user/login", "/user/register").permitAll()                    .anyRequest().hasRole("USER")                    .and().formLogin().loginPage("/user/login").loginProcessingUrl("/user/login").failureHandler(formAuthenticationFailureHandler)                    .and().logout().logoutUrl("/user/logout").logoutSuccessUrl("/user/login").invalidateHttpSession(true)                    .and().rememberMe().key("demo").tokenValiditySeconds(30 * 24 * 60 * 60).userDetailsService(formDetailsService)                    .and().csrf().disable();

3 .然后新建如下类,来自定义处理用户登录结果,其中FormAuthenticationProvider是登录的时候,验证用户名、密码用的。FormDetailsServiceImpl是用户关闭浏览器,再次打开会调用此方法,来获取当前用户,切身份已经验证通过的。FormAuthenticationFailureHandler是登录失败,来处理不同的返回消息

private final FormAuthenticationProvider formAuthenticationProvider;        private final FormDetailsServiceImpl formDetailsService;        private final FormAuthenticationFailureHandler formAuthenticationFailureHandler;

4 .具体三个类实现,请看GitHub,、、


结束

附上成功图片:

这里写图片描述

转载于:https://www.cnblogs.com/alvis/p/9438829.html

你可能感兴趣的文章
td下的div超出隐藏并居中
查看>>
分页查询
查看>>
第一阶段的Sprint计划会议
查看>>
Java中List, Integer[], int[]的相互转换
查看>>
LintCode 5.第k大元素
查看>>
[UE4]Set Skeletal Mesh,在蓝图中设置骨骼模型
查看>>
莫烦网-爬虫学习-代码记录
查看>>
MySQL的启动程序
查看>>
跨数据库访问
查看>>
Java读写文件方法总结
查看>>
【php】mysql全局ID生成方案
查看>>
随机数工具类
查看>>
struts2远程代码执行漏洞汇总整理
查看>>
根据访问属性进行差异化数据加载
查看>>
BZOJ.5461.[PKUWC2018]Minimax(DP 线段树合并)
查看>>
Xcode 官方下载地址 https://developer.apple.com/downloads/
查看>>
字节流与字符流复习
查看>>
OC循环方法推荐-块循环遍历(比for循环好用)
查看>>
cookie存在导致浏览器无法发送请求
查看>>
C#nameof用法
查看>>