SpringSecurity

1 SpringSecurity 框架用法简介

用户登录系统时我们协助 SpringSecurity 用户对应的角色、权限组装好,同时把各个

资源所要求的权限信息设定好,剩下的“登录验证”、“权限验证”等等工作都交给

SpringSecurity

备注:因为后面要与springboot框架做对接,springboot宗旨是消灭配置文件,全部采用基于注解的方式实现自动化配置。所以springsecurity也采用基于编码与注解方式来实现权限管控。[springsecurity也有基于XML配置的方式]

2 权限管理过程中的相关概念

2.1 主体

英文单词:principal

使用系统的用户或设备或从其他系统远程登录的用户等等。简单说就是谁使用系统谁就是主体。

2.2 认证

英文单词:authentication

权限管理系统确认一个主体的身份,允许主体进入系统。简单说就是“主体”证明

自己是谁。笼统的认为就是以前所做的登录操作。

2.3 授权

英文单词:authorization

将操作系统的“权力”“授予”“主体”,这样主体就具备了操作系统中特定功能的

能力。所以简单来说,授权就是给用户分配权限。

3 权限管理的主流框架

3.1 SpringSecurity

Spring 技术栈的组成部分。

通过提供完整可扩展的认证和授权支持保护你的应用程序。

https://spring.io/projects/spring-security

SpringSecurity 特点:

1.和 Spring 无缝整合。

2.全面的权限控制。

3.专门为 Web 开发而设计。

4.旧版本不能脱离 Web 环境使用。

5.新版本对整个框架进行了分层抽取,分成了核心模块和 Web 模块。单独

引入核心模块就可以脱离 Web 环境。

6.重量级。

3.2 Shiro

Apache 旗下的轻量级权限控制框架

 

特点:

1.轻量级。Shiro 主张的理念是把复杂的事情变简单。针对对性能有更高要求的

互联网应用有更好表现。

2.通用性。

3.好处:不局限于 Web 环境,可以脱离 Web 环境使用。

4.缺陷:在 Web 环境下一些特定的需求需要手动编写代码定制。

官网网址:http://shiro.apache.org/

4 使用配置类代替 XML 配置文件

4.1 @Configuration 注解

详见源代码

类标记了这个注解就可以使用这个类代替 Spring XML 配置文件。

4.2 @Bean 注解

用来代替 XML 配置文件中的 bean 标签。下面两种形式效果一致:

<bean id="empHandler" class="com.atguigu.component.EmpHandler">

<property />

</bean>

@Configuration

public class AnnotaionConfig{

@Bean

public EmpHandler getEmpHandler(){

return new EmpHandler();

}

}

提示:Spring 通过调用标记了@Bean 注解的方法将对象放入 IOC 容器行为不会重复

调用方法。原因是 Spring 想要获取 bean 对应的实例对象时会查看 IOC 容器中是否已经

有了这个对象,如果有则不会执行这个方法,从而保证这个 bean 是单一实例的。

如果希望对应的 bean 是多实例的,则可以配合@Scope 注解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值