# # 安全理论

 软件中安全保护的作用和目的是什么?

 让资源被正确的人正常的访问。

 

# # 安全防护应该从一下几个方面

  访问控制 :比如 shiro

  安全存储:比如 一个数据需要加密,比如数据需要备份

  安全传输:SSL,HTTPS

 

# # 权限建模

 一句话,就是给不同的角色分配不同的权限。通过给用户赋予角色的方式,来进行访问权限的控制。不同的可以有不同的控制管理。

 举一个最简单的例子,如果熟悉linux 的话,会有root 用户,和普通用户。

安全框架 shiro_数据

 

# # 访问控制实施流程

安全框架 shiro_数据_02

 

 

# # web安全框架

 

安全框架 shiro_设计思想_03

 

# # shiro 基本概念

 

安全框架 shiro_设计思想_04

 

 再来看一下相关的术语:

安全框架 shiro_数据_05

 

  这几个是最为关键,也就是最主要的。访问统一到 SecurityManager 上去,然后需要认证,然后 Realm 是在存储这些安全信息的,比方说什么角色能访问什么,而Authroizer 是用来鉴权的,就是鉴定这个用户是什么角色,是否拥有相应去权限。

 

# # shiro 的应用详解  和 springboot 集成

 具体的使用,就是一个些配置文件的问题了,这篇文章不做过多的解释了。

安全框架 shiro_访问控制_06

 

 # # shiro 中优秀的设计思想

 确切的说应该是很多框架的设计思想,这是我们应该注意的,我们应该学习的。

 从这个图中,我们可以看到是 认证的统一入口是 securityManager ,最上边的三个,分别定义了不同的功能,接着再往下走,通过一层一层的继承关系,来实现功能的叠加,直到最后形成一个用户直接可用的 DefaultSecurityManager ,很像是生成器模式做的事,但是又不是,因为它没有在操作同一个对象。

安全框架 shiro_数据_07