文章目录
- 自定义登录界面
- 配置自定义登录页面
自定义登录界面
\qquad 你可能想知道登录页面从哪里来?因为我们并没有提供任何的HTML或JSP文件。Spring Security 的默认配置没有明确设定一个登录页面的URL,因此Spring Security 会根据启用的功能自动生成一个登录的页面URL,并使用默认URL处理登录的提交内容,登录后跳转到默认URL等。尽管自动生成的登录页面很方便快速启动和运行,但大多数应用程序都希望定义自己的登录页面。
配置自定义登录页面
- 在工程下添加login.jsp页面
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %>
<html>
<head><title>登录</title>
</head>
<body>
<form action="login" method="post">用户名: <input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录">
</form>
</body></html>
- 配置登录视图
@Configuration
public class WebConfig implements WebMvcConfigurer {//指向登录页面@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("redirect:/login-view");//spring-security默认提供的登录页面registry.addViewController("/login-view").setViewName("login");}
}
- 配置登录页和登录处理的url
此时启动服务器登录,可以看到我们进入了一个403页面
问题解决:
spring security 为了防止CSRF(跨站请求伪造)的发生,限制了除了get意外的大多数方法。
解决办法1“:
屏蔽csrf,在spring security 不再限制CSRF
配WebSecurityConfig
再次启动服务器登录成功