.Shiro安全框架


 

1.汇通项目中的问题:

1.用户可以通过浏览器。在未登录的时候进行随意的跳转。

2.不用的用户应该看到页面中不同的内容。只有超级管理员等。才可以查看系统的全貌。

 

2.Shiro安全框架

Shiroapache旗下的一款安全框架,主要功能模块有登陆认证。权限认证、加密处理、Session管理。

 

同类型产品:

 

 

1.Shiro的功能模块图

 

 

Authentication: 登陆认证模块

说明:如果软件中采用了Shiro登陆认证后,如果用户没有进行登陆操作。则不能跳转到软件内部,始终被shiro进行拦截,直到用户使用正确的用户名和密码登陆后才予以放行。

 

Authorization:   权限控制模块

说明:不用的用户由于角色不同,所管理的模块不同,所展现的用户页面也不相同。

 

SessionMagement:  Session管理

主要管理Session对象。从中获取User对象。方便开发

功能:SSO

 

 

Cryptography:

加密处理:

用户输入的明文,经过shiro内部加密后,转化为密码。

 

 

2.Shiro调用流程图

 

1.applicationCode:   应用代码

程序调用/人手动请求/机器自动请求

 

2.Subject: 表示"用户"

SubjectShiro对外暴露的唯一入口程序,主要通过Subject提交的参数。Shiro才能识别。否则用户永远被Shiro拦截。

Subject:最主要的功能点就是用户的登陆认证模块。

 

3.ShiroSecurityManager   shiro安全中心

Shiro安全中心是Shiro中最为重要的核心模块,在内部进行一切的校验判断。

 

4.Realm:  生成资料(原材料)

Shiro安全中心,提供一切真实的数据。包括用户的真实的用户名和密码。用户的权限、Session..

 

Lg:

当用户进行登陆操作时,首先应该将username和password交给Subject来处理。subject将用户输入的数据传递给Shiro安全中心后,Shiro安全中心内部进行校验处理。Shiro安全中心,通过Realm查询用户的真实的数据信息后。在内部比较二者之间是否有差异。如果相同则证明用户名和密码正确。如果有不同则证明用户名和密码错误。再次拦截。

 

3.Spring整合Shiro安全框架:

1.添加jar包文件:

<dependency>

<groupId>org.apache.shiro</groupId>

<artifactId>shiro-all</artifactId>

<version>1.2.3</version>

</dependency>

 

2.添加Shiro配置文件

1.添加realm

 

 

2.自定义realm:

 

3.定义过滤器

 

 

4.web.xml中配置过滤器

 

 

4.汇通引入Shiro实现登陆认证:

1.Shiro将程序保护起来

 

 

2.Subject的登陆操作:

 

 

3.编辑自定义的realm

1.继承

 

 

2.为shiro安全中心提供真实的用户信息

 

 

3.为用户的密码加密

 

 

4.添加配置文件:

 

 

 

5.通过session保存用户对象

 

 

 

5.权限认证:

思路:

1.权限认证是在登陆认证之后进行的

2.做权限认证 需要准备2套列表  1.用户拥有的权限  2.用户需要的权限

3.引入shiro标签控制菜单模块

 

1.通过配置告知shiro那些模块信息进行权限控制

1.1引入shiro标签

<%@ taglib uri="http://shiro.apache.org/tags" prefix="shiro"%>

 

1.2通过标签控制一级菜单

 

 

1.3通过realm为shiro安全中心提供用户的权限信息

 

 

1.4查询sql语句:

SELECT NAME

  FROM MODULE_P

 WHERE MODULE_ID IN

       (SELECT MODULE_ID

          FROM ROLE_MODULE_P

         WHERE ROLE_ID IN

               (SELECT ROLE_ID FROM ROLE_USER_P WHERE USER_ID = '1')

        

        )

6.汇通项目切换数据库

1.ht.sql导入到本机

1.先建立ht的数据库

2.导入ht.sql文件   

 

 

2.ht项目切换数据库

拷贝配置文件

 

 

切换数据库:

 

 

 

7.Vmware虚拟机配置

1.安装虚拟机

 需要秘钥

 

2.打开linux系统

 

 

3.vmware网卡配置

 

安装虚拟机后  默认出现2块网卡 不要修改

 

4.网络配置:

 

 

1.桥接模式:

如果虚拟机采用桥接模式,则虚拟机在当前网段独占IP

本地Ip:10.8.34.6

虚拟机IP:10.8.34.7

 

2.nat模式:

 

在当前网络环境中 开辟一个空间保存自己的私网用户。

 

3.VMware保存

开机启动点击F2进入BIOS系统

 

修改BIOS中的虚拟化设置     设置为 enable

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/jdnicky/article/details/80080899