没有合适的资源?快使用搜索试试~ 我知道了~
首页SpringSecurity登陆失败后页面回显错误信息.pdf
SpringSecurity登陆失败后页面回显错误信息.pdf
需积分: 49 11 下载量 104 浏览量
更新于2023-03-16
评论
收藏 655KB PDF 举报
SpringSecurity自定义登陆页面,当登陆失败后,需要在页面上回显错误信息,但是错误信息又是由SpringSecurity自己封装的,我们如何去获取并且如何将错误信息转换成中文显示在页面上,本资源对其进行了详情的解决,方便后期使用。
资源详情
资源评论
资源推荐
SpringSecurity登陆失败后页面回显错误信息
概念
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。此处主要
研究下在使用自定义登陆页面的时候,如果发生登陆失败的情况,如何在自己的页面上显示相应的错误信息。
SpringSecurity环境搭建
1. 创建maven工程项目
2. 导入对应的jar包
3. web.xml添加委托过滤器代理类
4. 添加springSecurity的配置文件
<dependencies>
<!--SpringMVC与Spring相关jar包略 -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
</dependencies>
1
2
3
4
5
6
7
8
9
10
11
12
13
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
1
2
3
4
5
6
4. 添加UserDetailsService实现类
4. 运行测试
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
<!--配置放行资源 -->
<security:http pattern="/login.html" security="none"/>
<security:http pattern="/js/**" security="none"/>
<!--配置拦截规则 -->
<security:http use-expressions="false">
<security:intercept-url pattern="/**" access="ROLE_ADMIN"/>
<!--采用默认springSecurity提供的默认登陆页面 -->
<security:form-login/>
<security:csrf disabled="true"/>
</security:http>
<security:authentication-manager>
<security:authentication-provider user-service-ref="userDetailService">
</security:authentication-provider>
</security:authentication-manager>
<bean id="userDetailService" class="UserDetailService实现类"></bean>
</beans>
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class UserService implements UserDetailsService{
public static Map<String,TbUser> users = new HashMap<String, TbUser>();
static{
users.put("root",new TbUser(1,"root","root","ROOT"));
users.put("admin",new TbUser(1,"admin","admin","ADMIN"));
}
public UserDetails loadUserByUsername(String username) throws
UsernameNotFoundException {
if(users.containsKey(username)){
//查询到用户信息
TbUser tbUser = users.get(username);
List<GrantedAuthority> list = new ArrayList<GrantedAuthority>();
list.add(new SimpleGrantedAuthority(tbUser.getRole()));
return new User(username,tbUser.getPassword(),list);
}else{
//未查询到用户信息
return null;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
更换自己的登陆页面
修改springsecurity.xml,添加security:form-login的配置
在webapp下提供一个login.html页面
<security:http use-expressions="false">
<security:intercept-url pattern="/**" access="ROLE_ADMIN"/>
<!--采用默认springSecurity提供的默认登陆页面 -->
<!--<security:form-login/>-->
<!--更换自己的登陆页面
login-page:设定登陆login.html页面
default-target-url:默认登录成功后跳转的url
authentication-failure-forward-url:登陆失败后跳转的页面
-->
<security:form-login login-page="/login.html"
default-target-url="/index.html"
authentication-failure-url="/login.html"
/>
<security:csrf disabled="true"/>
</security:http>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
<h1>自定义登陆页面</h1>
<form action="/login" method="post">
用户姓名:<input type="text" name="username"/><br/>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
剩余11页未读,继续阅读
mysqlset
- 粉丝: 6
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0