概述
Spring Security是一种基于Spring AOP和Servlet规范中的Filter实现的安全框架。它能够在Web请求级别和方法调用级别处理身份认证和授权。
Spring Security从两个角度来解决安全性问题。
- 它使用Servlet规范中的Filter保护Web请求并限制URL级别的访问。
- Spring Security还能够使用Spring
AOP保护方法调用——借助于对象代理和使用通知,能够确保只有具备适当权限的用户才能访问安全保护的方法。
本系列笔记学习的是Spring Security3.2,示例基于Java配置,并且有完整的小Demo用于巩固了练手。在后续将会涉及到的知识点有:
- SpirngSecurity结构
- Spring Security配置
- 配置用户存储的三种方式及示例
-
拦截请求
– 使用Spring表达式进行安全保护– 强制通道的安全性
– 防止跨站请求伪造
-
认证用户
– 添加自定义登录页
– 启用HTTP Basic认证
– 启用Remember-me功能
– 退出
-
保护视图
– 使用Spring Security的JSP标签库
– 使用Thymeleaf的Spring Security方言
Github项目描述
在基础知识学习完成之后,动手做了一个小Demo,涵盖了上面的所有知识点,用于练习和巩固,该Demo已经分享到Github上,开发工具是IntelliJ IDEA,基于Maven依赖,克隆下来不需要任何配置即可使用,小伙伴们在学习的过程中可以参照着理解。该项目默认的登录名和密码分别是“zhou””123”。项目基于Spring+SpringMVC+SpringSecurity+Maven+Thymeleaf+JavaConfig
Github仓库地址:https://github.com/Dodozhou/SpringSecurityDemo
项目运行截图:
首页:index.html
点击个人主页:mine.html,需要首先登录,会自动跳转到登录页面:
点击登录,会进入登录成功提示页loginSuccess.html,点击前往个人主页:
个人主页mine.html
点击退出,则会退出登录,并重定向到首页。
下一篇:SpringSecurity学习笔记之二:SpringSecurity结构及基本配置