易商云页面认证失败是什么情况_认证过程其他常用配置 0148

4731c51d1faa92792443f55871053b27.png

1 失败跳转

表单处理中成功会跳转到一个地址,失败也可以跳转到一个地址

中。

1.1编写页面

在 src/main/resources/static 下新建 fail.html 并编写如下内容

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
操作失败,请重新登录. <a href="/login.html">跳转</a>
</body>
</html>

1.2修改表单配置

在配置方法中表单认证部分添加 failureForwardUrl()方法,表示登

录失败跳转的 url。此处依然是 POST 请求,所以跳转到可以接收 POST

请求的控制器/fail 中
// 表单认证
http.formLogin()
.loginProcessingUrl("/login") //当发现/login 时认为是登录,需要执行
UserDetailsServiceImpl
.successForwardUrl("/toMain") //此处是 post 请求
.failureForwardUrl("/fail") //登录失败跳转地址
.loginPage("/login.html");

1.3添加控制器方法

在控制器类中添加控制器方法,方法映射路径/fail。此处要注意:

由于是 POST 请求访问/fail。所以如果返回值直接转发到 fail.html 中,

及时有效果,控制台也会报警告,提示 fail.html 不支持 POST 访问方

@PostMapping("/fail")
public String fail(){
return "redirect:/fail.html";
}

1.4设置 fail.html 不需要认证

认证失败跳转到 fail.html 页面中,所以必须配置 fail.html 不需要

被认证。需要修改配置类中内容

// url 拦截
http.authorizeRequests()
.antMatchers("/login.html").permitAll() //login.html 不需要被认证
.antMatchers("/fail.html").permitAll() //fail.html 不需要被认证
.anyRequest().authenticated();//所有的请求都必须被认证。必须登录后才能访
问。

2 设置请求账户和密码的参数名

2.1源码简介

当进行登录时会执行 UsernamePasswordAuthenticationFilter 过滤

器。

usernamePasrameter:账户参数名

passwordParameter:密码参数名

postOnly=true:默认情况下只允许 POST 请求。

62174ea5b73a467456a12ad45393a920.png

2.2修改配置

// 表单认证
http.formLogin()
.loginProcessingUrl("/login") //当发现/login 时认为是登录,需要执行
UserDetailsServiceImpl
.successForwardUrl("/toMain") //此处是 post 请求
.failureForwardUrl("/fail") //登录失败跳转地址
.loginPage("/login.html")
.usernameParameter("myusername")
.passwordParameter("mypassword");

2.3修改页面

修改 login.html

<form action = "/login" method="post">
用户名:<input type="text" name="myusername"/><br/>
密码:<input type="password" name="mypassword"/><br/>
<input type="submit" value="登录"/>
</form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值