1.SpringSecurity的概述
Spring Security 是一个专注于向 Java 应用程序提供身份验证和授权的安全框架,与所有 Spring 项目一样,Spring Security 的真正优势在于它可以很容易地扩展以满足定制需求。目前,Spring Security 是 Spring 官网的顶级项目,与 spring boot、spring data、spring cloud 等齐名。
1.特点
- 1.全面和可扩展的身份验证和授权支持;
- 2.防止攻击,如会话固定,点击劫持,跨站请求伪造等;
- 3.与JavaWeb体系Servlet API的集成;
- 4.Spring Web MVC的进行可配置的集成
2.认证 & 授权
认证(Authentication)
用户认证指的是验证某个用户是否为系统中的合法主体,即用户能否访问该系统。用户认证一般要求用户提供账号和密码,系统通过校验账号和密码来完成认证过程。
授权(Authorization)
用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限通常是不同的,以一个为例,有的用户只能读,有的用户能读能写。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。
2.SpringSecurity的基本配置
1.项目结构
项目采用maven工程搭建
2.引入依赖文件
依赖文件中,配置采用maven的tomcat插件启动项目
3.配置web.xml
4.配置spring-security.xml配置文件
3.用户登录系统与退出系统
1.用户登录系统
2.用户退出系统
3.用户登录退出系统效果
登录成功后,进入提示页面;登录失败后,跳转到登录失败页面
4.总结
SpringSecurity的入门案例的搭建过程比较便捷,开发过程中,通过编写配置文件,完成大部分主体工作,刚接触的SpringSecurity框架的朋友对配置还不是很熟悉,会觉得比较难上手。万事开头难,框架的使用,基本流程都差不多。
框架设计的初衷就是方便简化我们的开发工作,因为框架把大部分实现细节封装在了框架内部,暴露出来的就是一些配置文件,刚入行的朋友要适应这种配置化的编程。因为SpringSecurity框架是优秀工程师的劳动成果中最精华的部分,我们只有站在巨人的肩膀上,技术开发的路上才能看得更远。