史上最简单的Spring Security教程(二):自定义登录页
用法
Spring Security框架默认的登录页如下图所示。
这个界面元素太少,况且不易去调整,也不满足日常的场景。所以,大多数情况下,我们需要自定义登录页。
其实,自定义登录页也非常简单,只需要一个登录页面、一个Controller、Spring Security配置稍微调整下,就可以了。
登录页面
我们采用Spring Security框架默认的用户名、密码参数名、filterProcessUrl等。
<form action="/login" method="post" th:action="@{/login}" th:method="post">
<div>
<input type="text" name="username" placeholder="用户名">
</div>
<div>
<input type="password" name="password" placeholder="密码">
</div>
<button type="submit">登录</button>
</form>
Controller
controller也比较简单。
@RequestMapping("/login")
public String login() {
return "login";
}
配置调整
只需在原来的配置基础上,加上 loginPage 设置项并放开权限即可。
http.formLogin().loginPage("/login").permitAll()
演示
启动工程,访问首页 http://localhost:8080/springsecuritylearning/index,系统跳转到了我们自定义的登录页。
输入用户名、密码后,正常展示首页。
源码
github
https://github.com/liuminglei/SpringSecurityLearning/tree/master/02
gitee
https://gitee.com/xbd521/SpringSecurityLearning/tree/master/02
回复以下关键字,获取更多资源
SpringCloud进阶之路 | Java 基础 | 微服务 | JAVA WEB | JAVA 进阶 | JAVA 面试 | MK 精讲
笔者开通了个人微信公众号【银河架构师】,分享工作、生活过程中的心得体会,填坑指南,技术感悟等内容,会比博客提前更新,欢迎订阅。
上一篇: 8000人的新闻团队:BBC如何利用互联网思维转型?
下一篇: 浅析:怎样通过seo提高品牌的影响力
推荐阅读
-
史上最简单的Spring Security教程(十一):url区分不同的登录失败场景
-
史上最简单的Spring Security教程(二十):AccessDecisionVoter必须全部拥有请求所需权限才可访问
-
史上最简单的Spring Security教程(四十):SecurityContextPersistenceFilter详解
-
史上最简单的Spring Security教程(十三):动态用户
-
史上最简单的Spring Security教程(十四):动态权限(自定义UserDetailsService)
-
史上最简单的Spring Security教程(十九):AccessDecisionVoter简介及自定义访问权限投票器
-
史上最简单的Spring Security教程(十五):资源权限动态控制(FilterSecurityInterceptor)
-
史上最简单的Spring Security教程(二十七):AuthenticationManager默认实现之ProviderManager详解
-
史上最简单的Spring Security教程(二十二):自定义AccessDecisionManager实现简单的访问决策
-
史上最简单的Spring Security教程(十六):FilterSecurityInterceptor详解