业务:
1.登陆控制(使用shiro实现登陆控制)
2.登陆拦截控制和用户注销退出
3.使用shiro完成权限管理
4.对shiro用户授权信息应用ehcache缓存
5.使用itext生成pdf报表文件
技术点:
1.shiro的原理和实现
2.ztree的使用
3.Ehcache的配置和使用
4.报表技术:
Itext生成pdf报表
springMVC视图解析器生成pdf报表
01:【权限数据模型分析】
权限数据模型
包含四个部分 (资源、 权限、 角色、 用户 )
资源: 为系统添加权限,对哪些页面 或者 哪些数据进行控制
权限: 具有某个资源访问能力 (权限可以对应一个资源 或者 多个资源)
角色: 权限的集合 ,简化软件项目中授权
用户: 访问系统的人,具有系统中一个或者多个角色,具有多个权限,可以访问资源
这四个概念之间都是多对多关系
资源:包括超链接、页面中的按钮等
两种常见的权限控制方式1.传统的url级别权限控制方式
用户具有角色,角色具有权限,权限具有资源 ,资源对应url 路径。当访问这个url路径时,判断当前用户是否具有url资源权限
2.基于方法级别权限控制方式
基于方法级别权限控制,比URL级别权限控制 粒度更精确
02:【权限控制数据表设计】
企业主流权限框架
①
Spring Security 安全框架
必须要和spring 一起使用,繁重复杂
②
Apache Shiro 安全框架
可以单独使用,从命令行应用,大型软件 都是使用, 轻量简单易用
Shiro 可以定制权限控制逻辑,对数据表 没有直接要求 (存在 用户、角色、权限 概念)
1.为什么要使用Apache Shiro框架?
登录拦截器只是验证是否登录,未登录就不能访问页面。而登录后能看到和点击哪些链接,就需要用Apache Shiro框架来进行控制。
2.Apache Shiro的特征和简介
点击打开链接设计权限数据表
五张表:
auth_function 权限表
auth_role 角色表
t_user 用户表
user_role 用户角色关系表
role_function 角色权限关系表
说明:使用shiro做权限控制,
不需要资源表 ,因为不是基于url进行权限控制,通常是基于注解控制
如果存在权限,则动态生成菜单, 在function表添加菜单相关属性 !
xxxx
xxxx
xxxx
xxxx
xxxx
03:【使用shiro实现登陆控制】
shiro核心组件及功能
参考在线文档:
点击打开链接
shiro体系架构:
点击打开链接
三大核心组件:
Subject 登陆用户
SecurityManager 安全管理器
Realms 权限校验代码逻辑
四个核心功能:
Authenticator 认证 (用户身份识别 )
Authorizer 授权器(权限控制)
SessionManager (支持 native session 和 http session )
CacheManager 缓存管理器
04:【登陆拦截控制和用户注销退出】
sssss
05:【使用shiro完成方法级别权限控制(一)】
aaaaa
06:【使用shiro完成方法级别权限控制(二)】
sssss
07:【使用shiro的tag控制页面权限】
sssss
08:【动态ztree菜单生成】
【day10-----------------------------------】
01:【使用shiro关于admin账户授权】
ddddd
02:【在spring中配置Ehcache缓存】
1.为什么使用Ehcache?
每次需要shiro做权限控制, Realm的授权方法就会被调用, 查询数据库重新完成授权! (
想一想hibernate中二级缓存也是要配置Ehcache的)
简单理解:因为每次都要查询权限数据,而权限数据又不会经常变化,所以将其保存在缓存中会大大提高效率
问题: 性能开销比较大
2.解决方案?
对用户授权,只进行一次 查询,查询后,将用户授权信息放入缓存中,以后需要授权时,直接从缓存中获取数据,而无需查询数据表
3.JavaEE主流缓存技术?
JBossCache/TreeCache
OSCache
Ehcache
SwarmCache
这里使用我们最熟悉的Ehcache缓存技术
使用Spring框架 集成 EhCache
ddd
步骤:
1.导入Ehcache的jar包
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>2.6.6</version>
</dependency>
2.使用Ehcache 在classpath 下,创建缓存框架配置文件 (ehcache.xml )
将导入ehcache的jar 中 ehcache-failsafe.xml 改名 ehcache.xml 复制 src/main/resources
3.对Spring 进行 Ehcache 整合
4.通过Spring 提供缓存注解,对数据进行缓存
@Cacheable和@CacheEvict:对缓存进行操作
@Cacheable:负责将方法的返回值加入到缓存中
@CacheEvict:负责清除缓存
5.整合shiro 缓存管理器
03:【对shiro用户授权信息应用ehcache缓存】
dddddd
04:【使用itext生成pdf报表文件】
dddddd
Interview
1.三个核心组件 、四个主要功能
2.安全认证、授权 原理流程 分析清楚 (基于注解 方法级别的权限控制 )
3.内置大量自定义标签 (页面控制)
4.动态Ztree菜单生成
5.权限模型数据表设计
分享到:
相关推荐
user authorization-template 1 bind aaa-authorization-template 2001 local-privilege-level 15 exit authentication-template 1 bind aaa-authentication-template 2001 exit user-name admin bind ...
《ISO 22600-2:2014 Health Informatics - Privilege Management and Access Control》是国际标准化组织发布的一份关于医疗信息化领域的标准,主要关注特权管理和访问控制。这一部分,即Part 2,专注于正式模型的...
《ISO 22600-3:2014 Health Informatics - Privilege Management and Access Control》是国际标准化组织(ISO)发布的一份标准,专门针对医疗信息系统的权限管理和访问控制部分。这份标准旨在为医疗保健领域的信息...
sqlplus / as sysdba时出现ORA-01031 insufficient privilege
**ISO 22600-1:2014 健康信息学 - 权限管理和访问控制** 在IT行业中,特别是医疗保健领域,数据安全和隐私保护至关重要。ISO 22600-1是国际标准化组织(ISO)发布的一份标准,专门针对健康信息学中的权限管理和...
这将安装命令行工具: xray-privilege-scan 。 凭证设定 cli工具在内部使用AWS Node.js SDK,并将使用与该SDK相同的凭证机制。 它将自动使用AWS共享凭证文件中的凭证。 有关更多详细信息,请参阅: 。 用于运行cli的...
远程特权提升纸牌游戏 公告: : 后端:.NET Core 前端:.NET Core-Blazor WASM PWA-Microsoft在下的 “支持的”浏览器:Chrome 如何设置和播放 先决条件 互联网访问(下载NuGet软件包) 启动服务器 ...
标签“riscv privilege”意味着文档与RISC-V指令集的特权级别架构有关。RISC-V的特权级别包括用户(User)模式、监督者(Supervisor)模式、机器(Machine)模式。特权架构主要定义了这些模式下处理器行为的差异,...
system::user-----查看当前登录的系统用户 system::computer-------查看计算机名称 process::list------------------列出进程 process::suspend 进程名称 -----暂停进程 process::stop 进程名称---------结束进程 ...
Slui文件处理程序劫持LPE 利用信息 日期 15.01.2018 已修补 Windows 10 20H1(19041) 漏洞数据库 经过测试 Windows 8-10,x86 / x64独立 描述 slui.exe是自动提升的二进制文件,容易受到文件处理程序劫持的攻击...
在本文中,我们将深入探讨如何使用Laravel框架开发"user-privilege-mapper",这是一个针对用户权限管理的服务提供者。Laravel是一个优雅且强大的PHP框架,它为开发者提供了丰富的工具来构建可扩展、安全和高效的Web...
Chapter 7 - Indirect Privilege Escalation Chapter 8 - Defeating Virtual Private Databases Chapter 9 - Attacking Oracle PL/SQL Web Applications Chapter 10 - Running Operating System Commands ...
在本文中,我们将深入探讨Laravel中的权限管理,并结合"privilege-master"这个项目的背景来解析相关的知识点。 1. **中间件(Middleware)**:在Laravel中,中间件扮演着路由过滤器的角色,它可以检查用户的权限并...
- 数据库管理系统(Database Management System)- database management system - 数据库应用程序系统(Database Application System)- database applications system - 数据字典(Data Dictionary)- data ...
描述: 这是一个简单的 Python 脚本,可帮助您为白名单 IP 地址生成 MySQL 命令,使用密码创建用户并授予对表和数据库的权限。 在此脚本的末尾,您只需复制粘贴输出并集成到 MySQL shell 中。...
- CVE-2015-8325: privilege escalation via user's PAM environment and UseLogin=yes (#1329191) - CVE-2016-1908: possible fallback from untrusted to trusted X11 forwarding (#1298741) -
藏经阁-White Hat Privilege.pdf
PoC和Proper Villians和Blacksun Labs的支持文件赞助了“您的Mac已被删除。OSXploitation升级后”。 FuzzyNop和Noncetonic的Nolacon 2018演讲。 提供的PoC通常与演示过程中的现场演示中显示的PoC不同。...
Windows特权升级资源 来自TCM Windows Priv Esc Udemy课程的... Absoloom的指南: ://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/ Sushant 747指南: : 立足点 msfvenom: ://netsec.ws/ p 3
本文档介绍了一项关于特权提升攻击(Privilege Escalation Attack)的研究成果,特别是针对安卓(Android)平台上的应用程序。这项研究由香港大学计算机科学系的Patrick P.F. Chan、Lucas C.K. Hui和S.M. Yiu共同...