但使龙城飞将在,不教胡马度阴山
SpringBoot+SpringSecurity
整合了SpringSecurity权限框架
@EnableWebSecurity
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Autowiredprivate UserDetailServiceImpl userDetailService;//授权@Overrideprotected void configure(HttpSecurity http) throws Exception {//登录页放开校验http.authorizeRequests().antMatchers("/login.html", "/login").permitAll().anyRequest().authenticated();//自动跳转登录页//定义了一个login请求用于跳转登陆页面http.formLogin().loginPage("/login").loginProcessingUrl("/login").defaultSuccessUrl("/success");//关闭csrf校验http.csrf().disable();}//认证@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {//认证方法auth.userDetailsService(userDetailService).passwordEncoder(passwordEncoder());}//自定义加密方式@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}}// auth.userDetailsService()
// 这个方法需要一个UserDetailsService接口的实现类,我们需要创建一个类来实现这个接口,
//并且重写loadUserByUsername方法,写入我们自己想要实现的逻辑,然后将该实现类放入ioc,在这个auth.userDetailsService()地方传入该实现类的实例对象
//使用注解将该对象放入容器中
@Component
public class UserDetailServiceImpl implements UserDetailsService {@Autowiredprivate PasswordEncoder encoder;@Autowiredprivate SystemService systemService;@Overridepublic UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {User currUser = systemService.getUserInfo(s);if (currUser == null){throw new UsernameNotFoundException("用户不存在");}//加密过程在此处体现return new org.springframework.security.core.userdetails.User(currUser.getUserName(), encoder.encode(currUser.getPassword()),new ArrayList<>());}
}
用于跳转自定义登录页的请求
@RequestMapping(value = "/login", method = RequestMethod.GET)public String login() {try {return "login";} catch (Exception e) {e.printStackTrace();return e.getMessage();}}
前台页面流转暂时使用的是thymeleaf,仅用于测试SpringSecurity有效性,之后会改成Vue前后台分离项目
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org/" lang="en">
<head><meta charset="UTF-8"><title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<form th:action="@{/login}" method="post">用户名:<input type="text" name="username"> <br>密码:<input type="text" name="password"><br><input type="submit" value="登录">
</form>
</body>
</html>
现在访问未放开的接口,security都会自动跳转到我们自定义的登陆页面
登陆成功后,才可访问其他页面和请求
返回json
跳转页面
但使龙城飞将在,不教胡马度阴山相关推荐
- 非常精美的唐诗,无与伦比哦遥知兄弟登高处,遍插茱萸少一人。秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。君自故乡来,应知故乡事。来日绮
高,哥舒夜带刀. 至今窥牧马,不敢过临洮. 黑夜里北斗七星挂得高高: 哥舒翰勇猛守边夜带宝刀. 吐蕃族至今牧马只能远望: 他们再不敢南来越过临洮. 山中相送罢,日暮掩柴扉. 春草明年绿,王孙归不归. ...
- python爬虫中三种数据解析方式
一.正解解析 常用正则表达式: 单字符: .: 除换行以外所有字符 []:[aoe] [a-w]匹配集合中任意一个字符 \d:数字 [0-9] \D: 非数字 \w :数字.字母.下划线.中文 \W ...
- Python spiders基础学习笔记
爬虫简介 什么是爬虫: 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程. 爬虫的价值: 实际应用 就业 爬虫究竟是合法还是违法的? 在法律中是不被禁止 具有违法风险 善意爬虫 恶意爬虫 ...
- 一个关于LSTM生成歌词的练习
说明 这是一个个人练习笔记,使用Python语言,Keras搭建神经网络 数据使用的是王力宏的歌词,包含91首歌,共2列属性:歌曲名(Title),歌词(Lyrics)(来源:网易云音乐) 导入各种包 ...
- 王力宏 谭维维-缘分一道桥 【超品质MP3】
缘分一道桥 - 王力宏/谭维维 歌词 词:方文山 曲:王力宏 男: 万里长征人未还 但使龙城飞将在 不教胡马度阴山 女: 狼烟千里乱葬岗 乱世孤魂无人访 无言苍天笔墨寒 笔刀春秋以血偿 男: 谈爱恨 ...
- Python网络爬虫-xpath模块
一.正解解析 单字符:. : 除换行以外所有字符[] :[aoe] [a-w] 匹配集合中任意一个字符\d :数字 [0-9]\D : 非数字\w :数字.字母.下划线.中文\W : 非\w\s :所 ...
- 多测师_Python(open 文件)
一.open 文件 1.open('file','mode')打开一个文件 file 要打开的文件名,需加路径(除非是在当前目录) mode 文件打开的模式 需要手动关闭 close 2.with o ...
- UNITY HTTP GET 人机对诗APP (流星程序集之十七)
小孩喜欢玩手机,又是学诗的年纪,我想了一下,把2者结合起来吧,推出一个APP,可以通过这个APP对诗,你来我往地加深诗词在诗词大脑中的印象. 2019年2月,使用UNITY2D开发的安卓版应用程序,& ...
- BeautifulSoup模块学习文档
一.BeautifulSoup简介 1.BeautifulSoup模块 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档 ...
最新文章
- 测试逐飞的MM32F3277 MicroPython开发板的基本功能
- TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
- NHibernate之Could not initialize proxy - no Session Bug
- 新闻资讯APP开发流程(八)-- ContentView.js
- 树莓派python教程_两个简易的树莓派初学者Python程序
- 养成这6个编程好习惯,助你减少90%BUG
- python flask上传文件_Python-Flask-文件上传
- Win32编程之基于MATLAB与VC交互的多项式回归
- java的文本框如何回车键触发按钮_java回车触发按钮的代码
- py 的 第 30 天
- 如何避免 Go 命令行执行产生“孤儿”进程?
- 武器级工具包 Immunity Canvas 7.26 泄露(个人百度网盘)
- 使用fstream在C++工程中读取文件到二维数组
- eclipse汉化方法
- 手把手带撸Junior AlphaGo算法「AI工程论」
- imagej得到灰度图数据_教你用免费软件Image J对WB结果进行灰度分析!
- 2018年11月酷云大数据月度报告
- Java集合,泛型,枚举详解
- 一个算法模型搞定千万种场景,人工智能领域出现一匹黑马
- Android Platform 3.0 SDK和Eclipse ADT安装记录三
热门文章
- python 凸多边形面积
- BZOJ3677: [Apio2014]连珠线
- 前端图像处理之马赛克
- 想要用Python写爬虫但是BeautifulSoup库出锅肿么办?
- 百度云主机BCC挂载云盘CDS
- [含论文+源码等]基于HTML5,DIV CSS实现的宠物狗个性化服务网站前端(静态网页毕业设计)web前端毕设
- 上海车艺尚教你如何DIY原厂8.8寸大屏幕----宝马车友必看
- 22、p2p信贷术语
- 基于Python对Lending Club信贷业务数的分析
- Pairs(暴力,超详细简单)