首页IT科技springsecurity中文文档网址 -csdn(Spring Security(1))

springsecurity中文文档网址 -csdn(Spring Security(1))

时间2025-09-10 04:38:33分类IT科技浏览6814
导读:您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~...

您好                 ,我是湘王                         ,这是我的博客园          ,欢迎您来             ,欢迎您再来~

虽然说互联网是一个非常开发                 、几乎没有边界的信息大海                        ,但说起来有点奇怪的是              ,每个稍微有点规模的互联网应用都有自己的权限系统         ,而权限的本质却是是封闭的——开放的互联网有着封闭的权限                 。

现在做Java后端应用开发用的都是Spring框架                        ,但在Spring诞生之前                  ,却是Servlet的天下     ,都是根据业务规则各自实现自己的Servlet                           。权限系统也是一样                         ,在没有统一的权限系统规范之前                      ,各个Java业务系统都是根据需求自己实现对功能的授权管理        。这种早期的权限系统称之为ACL(Access Control List,访问控制列表)            。等发展到一定程度                     ,工程师们发现给用户一个个地授权能访问哪个功能或不能访问哪个功能                          ,实在是太麻烦了     ,于是就出现了RBAC(Role-Based Access Control                 ,基于角色的访问控制)                           。并由此出现了一系列的演变                         ,之后又出现了ABAC(Attribute-Based Access Control          ,基于属性的访问控制)和CBAC(Claims-Based Access Control             ,基于声明的访问控制)            。其中ABAC又称为PBAC(Policy-Based Access Control                        ,基于策略的访问控制)        。

这一系列的名称让人有点乱                           。不过目前在一般规模的应用中              ,还是以RBAC为主                。至于像什么BAT这种级别的互联网应用         ,早就超出了这种「权限」的范畴了    。

早期的RBAC作为一个相对独立的开发内容                        ,工作量其实还是比较大的                  ,而且必须考虑到一些动态的变化     ,所以安全性                           、稳定性都没办法得到100%的保证                           。于是Spring Security出现了                     。它是一个依托于Spring的RBAC权限管理框架                         ,在Spring Boot之前                      ,Shiro用的更多,因为Spring Security相对来说配置比较繁琐                     ,属于重量级的权限管理框架。所以SpringMVC + Shiro的组合更常见                      。在Spring Boot出现之后                          ,为Spring Security提供了更友好的配置方案                          。

Spring Security的核心功能主要包括:

1        、认证(是谁-Who)

2            、授权(能干什么-What)

3                           、防伪(身份伪造)

Spring Security的核心就是一组由FilterChain过滤器组成的过滤器链     ,逐步来实现所有需要权限介入的管理工作    。

这里就从登录开始                 ,完成一个前后端分离的微型应用                         ,以接口测试工具代替前端调用                 。

先在idea上创建一个新的Spring Initializer项目:

然后再创建数据库表:

初始化数据:

INSERT INTO sys_user VALUES (1, admin, 123456, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_user VALUES (2, manager, 123456, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_user VALUES (3, employee, 123456, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_role VALUES (1, ROLE_ADMIN, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_role VALUES (2, ROLE_MANAGER, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_role VALUES (3, ROLE_EMPLOYEE, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_user_role VALUES (1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_user_role VALUES (2, 2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP); INSERT INTO sys_user_role VALUES (3, 3, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);

修改pom文件:

配置application.properties:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://172.16.185.129:3306/vmall?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull spring.datasource.username=root spring.datasource.password=123456

感谢您的大驾光临!咨询技术            、产品        、运营和管理相关问题          ,请关注后留言                           。欢迎骚扰             ,不胜荣幸~

声明:本站所有文章                        ,如无特殊说明或标注              ,均为本站原创发布        。任何个人或组织         ,在未征得本站同意时                        ,禁止复制                           、盗用                、采集    、发布本站内容到任何网站                           、书籍等各类媒体平台            。如若本站内容侵犯了原著者的合法权益                  ,可联系我们进行处理                           。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何优化新网站的SEO排名(提高网站流量和点击率的8种方法) web前端完整项目实例(40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】)