博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java之品优购课程讲义_day04(2)
阅读量:6832 次
发布时间:2019-06-26

本文共 1859 字,大约阅读时间需要 6 分钟。

(2)创建 web.xml

contextConfigLocation
classpath:spring-security.xml
org.springframework.web.context.ContextLoaderListener
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*

(3)创建 index.html 内容略

(4)创建 spring 配置文件 spring-security.xml

</beans:beans>

此案例我们没有登录页,而是使用了系统自动生成的登陆页,效果如下:
Java之品优购课程讲义_day04(2)
配置说明:
intercept-url 表示拦截页面
/* 表示的是该目录下的资源,只包括本级目录不包括下级目录
/** 表示的是该目录以及该目录下所有级别子目录的资源
form-login 为开启表单登陆
use-expressions 为是否使用使用 Spring 表达式语言( SpEL ),默认为 true ,如果开启,则
拦截的配置应该写成以下形式

<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />

1.1.1 用户自定义登录页
实际开发中,我们不可能使用系统生成的登录页,而是使用我们自己的登录页。
(1)构建登陆页:

登陆
用户名:
密码:

(2)构建登陆失败页 login_error.html(内容略)

(3)修改 spring 配置文件 spring-security.xml

<!-- 以下页面不被拦截 -->

<http pattern="/login.html" security="none"></http>

<http pattern="/login_error.html" security="none"></http>

<!-- 页面拦截规则 -->

<http use-expressions="false">

<intercept-url pattern="/*" access="ROLE_USER" />

<form-login login-page="/login.html" default-target-url="/index.html" authentication-failure-url="/login_error.html"/>

<csrf disabled="true"/>

</http>

security="none" 设置此资源不被拦截.
如果你没有设置登录页 security="none" ,将会出现以下错误
Java之品优购课程讲义_day04(2)
因为登录页会被反复重定向。
login-page:指定登录页面。
authentication-failure-url:指定了身份验证失败时跳转到的页面。
default-target-url:指定了成功进行身份验证和授权后默认呈现给用户的页面。
csrf disabled="true" 关闭 csrf ,如果不加会出现错误
Java之品优购课程讲义_day04(2)
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者 Session
Riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利用。

转载于:https://blog.51cto.com/13517854/2156392

你可能感兴趣的文章
C语言解释器的实现--存储结构(一)
查看>>
Java Eclipse常规设置
查看>>
ios官方菜单项目重点剖析附项目源码
查看>>
构建javaweb项目
查看>>
MVC5学习笔记
查看>>
大大大大板子
查看>>
使用博客园时,如何在自己的博客上显示头像?
查看>>
【作业】简单绘图程序
查看>>
二分查找
查看>>
java ee
查看>>
复制文字,链接,剪贴板的使用
查看>>
RSA加解密-2
查看>>
正向与反向代理的理解
查看>>
二分搜索法
查看>>
关于createTextRange和createRange的一些用法【转】
查看>>
关于jquery的serialize方法转换空格为+号的解决方法
查看>>
微信发一个网址打开后自动调用手机自带默认浏览器或提示选择浏览器打开如何实现?...
查看>>
ADO.NET 快速入门(二):执行命令
查看>>
菜鸟学习WPF(一):开篇
查看>>
Hibernate查询HQL(第二部分)
查看>>