4-Shiro框架-权限管理

Java版本Mirai食用指南(一) for Mirai2.0.0 Java版本的mirai食用方法,2.0.0版本适用 (一)mirai使用 目录前言〇、安装Java一、下载mcl二、解压,启动!三、在新生成的plugins文件夹下放进你想要的插件四、运行 前言 除非你想要开发一个完整的基于Mirai的独立程序(那么我相信你一定有能力看懂官方文档) 那么Mirai在使用上分为两部分:机器人主体和插件。 这一部分是机器人如何使用,编写插件部分见Java版本Mirai食用指南(二) for Mirai2.0.0 Mirai的github地址:Mirai 目前Mirai. 阅读详情

授权管理

当然选择注解式开发啦,而且还可以用jsp隐藏没有权限的标签,非常方便。

在spring中配置的拦截器里面添加
  • roles,角色授权拦截器
    /xx = roles[admin1]
    /xx = roles[admin2]
    主要属性:登录页面地址、未授权地址
  • perms,权限授权拦截器
    /xx = perms[“user:create”]
    主要属性:登录页面地址、未授权地址
  • port,端口拦截器,可以通过的端口,如果端口不符,自动跳转到设置的端口
    /xx = port[80]
  • rest,rest风格拦截器,自动根据请求方法构建权限字符串(这个我也没太懂,要用的话再查查别的……)
  • ssl,SSL拦截器,只有请求是https才能通过,否则自动跳转到https端口(443)
实现授权Realm

授权Realm需要继承AuthorizingRealm类,实现其doGetAuthorizationInfo方法,注意要继承的这个类它自己继承了之前认证的时候需要继承的那个类,但是没有实现那个类需要的方法,所以要做授权可以只继承AuthorizingRealm类,再同时实现doGetAuthorizationInfo(授权方法)和doGetAuthenticationInfo(认证方法)方法即可。

授权Realm会获得一个PrincipalCollection类型的参数,从中可以得到登录用户的信息
//获取到的用户信息和多Realm认证的顺序有关,第一次获取到的就是认证成功返回的第一个信息
Object principal = principals.getPrimaryPrincipal();
//然后利用得到的用户信息来给该用户相应的权限
//下面这几句的意思按照我的理解,应该是roles里面存的值对应的就是各种权限
//admin1是一定会被添加的,所以所有用户都有该权限,但是满足xxx条件的时候,会给当前用户加上admin2的角色
//角色就意味着权限。
Set<String> roles = new HashSet<>();
roles.add("admin1");
if(xxx)
    roles.add("admin2");
//最后返回
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles);
return info;
注意:要是写完Realm发现不好用,注意看看配置对不对(我是用的默认策略,就是直接在securityManager的realms中配置的),还不行可以重启一下服务器,重新发布一下什么的操作搞一搞说不定就好了……
几个Shiro的JSTL标签,还有些这里就不写了
  • <shiro:guest>标签,用户没有身份验证时。
  • <shiro:user>标签,用户已经经过认证/记住我登录之后显示的信息
  • <shiro:authenticated>标签,用户已经身份验证通过(不是记住我)
  • <shiro:notAuthenticated>标签,用户未进行身份验证(包括记住我)
权限注解
  • @RequiresAuthentication,已经过身份验证
  • @RequiresUser,已经身份验证或记住我
  • @RequiresGuest,游客身份
  • @RequiresRoles(value={“admin1”,”admin2”},logical=Logical.AND):表示当前Subject需要角色admin1和admin2
  • @RequiresPermissions(value={“user:a”,”user:b”},logical=Logical.OR):表示当前Subject需要权限user.a或user.b
如果已经有了事务注解,那么不能注解在service上,需要注解在controller上
12V INPUT电源电路设计中的关键保护机制解析【精简】 本文深入解析了12V INPUT电源电路设计中不可或缺的关键保护机制。针对常见的电源反接、过压及浪涌等风险,文章详细拆解了PMOS防反接、TVS过压钳位、OVP芯片关断以及快速断电电路等核心防护方案的设计原理、选型要点与实战优化技巧,旨在帮助工程师构建可靠、经济的电源前端防御体系。 阅读详情

相关推荐

扫地机器人全场景测试实战:从实验室到真实家庭的可靠性验证

本文深入探讨了扫地机器人从实验室到真实家庭的全场景测试方法,揭示了软硬件测试中的关键挑战。通过分析场景化测试的重要性,文章详细介绍了硬件耐久性、软件稳定性和环境适应性三大测试维度,并提供了真实家庭测试的实用方法论。消费者可重点关注清洁率、覆盖率等核心指标,同时了解测试工程师的私房建议,帮助选择更可靠的扫地机器人产品。

hhh00的博客 1075

mirai Bot初始化配置

RT 其实本来我的bot已经因为自己手贱登陆qq nt直接报废了,但是论坛里有佬提供了新的协议库,那这不赶紧复活bot都对不起这个新的协议库。 本文写于2024年7月4日19:20:21,可能随着时间久远而无法实现功能。 mirai 是一个在全平台下运行,提供 QQ Android 协议支持的开源高效率机器人库 这个项目的名字来源于 京都动画作品《境界的彼方》的栗山未来(Kuriyama ...

weixin_34660766的博客 596

CUDA编译踩坑实录:如何正确设置-gencode参数适配你的GPU算力

本文深入解析CUDA编译中-gencode参数的核心原理与实战配置,帮助开发者解决常见的'Unsupported gpu architecture'错误。通过厘清虚拟架构与真实架构的区别,并提供多版本兼容的CMake配置方案,确保编译出的代码能精准适配不同GPU算力,兼顾性能与广泛兼容性。

weixin_28829903的博客 337

mirai QQ机器人最详细教程 [附Q群消息转发例程]

从安装到使用到代码,妥妥的一条龙~

xfxuezhang.cn 3万+

大数据之VIP(Virtual IP,虚拟IP)负载均衡

VIP(Virtual IP,虚拟IP)负载均衡是一种在计算机网络中常用的技术,用于将网络请求流量均匀地分散到多个服务器上,以提高系统的可扩展性、可靠性和性能。

赵玉的专栏 4122

PADS VX2.7学习记录05-PADS Layout设计文件Gerber等输出整理

在“PDF Document”栏中,依次选中除REF-TOP和REF-BOT之外的文件,单击图标,将其余PDF Document文件进行删除,如图所示。然后单击【生成PDF】按钮,即可创建一份PDF格式的位号图。

tianpu2320959696的博客 1023

Ubuntu 20.04.4 LTS部署Mirai QQ机器人

ubuntu 部署mirai QQ Bot QQ机器人

余音Yoin的博客 4573

当预编译包失效时:手把手教你在Nvidia Orin (JetPack 5.1.1) 上源码编译onnxruntime-gpu

本文详细指导在Nvidia Orin (JetPack 5.1.1) 上源码编译onnxruntime-gpu的全流程,解决预编译包兼容性问题。涵盖环境准备、工具链配置、源码编译、常见问题解决及性能优化技巧,帮助开发者在边缘计算设备上实现高效AI模型推理。

weixin_29062823的博客 134

mirai 使用教程

前言 众所周知,CoolQ因为腾讯的封杀下架。(悲) CoolQ 不一定是最好用的机器人框架,但对小白一定是最友好的。 而现在 CoolQ 没了,还有一个机器人框架可供我们选择 —— mirai。 mirai 相对于 CoolQ 来讲,没有 CoolQ 那么对小白友好,这也就是我写这个傻瓜式教程的目的。 ps:不建议非小白的大佬阅读本文。因为您可能会觉得太磨叽了,并且自己做要比按照我来...

crab_xbc的博客 1万+

开发框架Furion之WebApi+SqlSugar (一)

MyFurion.Model项目中,通过Nuget添加Furion、Furion.Extras.DatabaseAccessor.SqlSugar、Furion.Extras.ObjectMapper.Mapster、SqlSugarCore,同时添加对项目MyFurion.Unility的引用。在MyFurion.Start项目中,通过Nuget添加 AspNetCoreRateLimit、System.Linq.Dynamic.Core,同时添加对项目MyFurion.Application的引用。

liwan09的博客 1万+

基于PLC的全自动洗衣机控制系统+控制程序

本设计使用PLC控制系统替换了传统的继电器控制系统,实现了全自动洗衣机在硬件方面的提升,丰富了全自动洗衣机在软件方面的功能,提高了全自动洗衣机的洗衣效率,基本可以满足用户的洗衣需求。

zzzz114231的博客 8952

Guns框架学习记录-4-Swagger2+Shiro权限管理

7.Swagger Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。是一套流行的API框架,可以帮助开发人员快速构建API文档,还可以方便测试项目各项功能。 谈及两个问题: Swagger如何集成? maven引入依赖,配置swagger,设置静态资源映射 Swagger如何使用? @ApiOperation, @ApiImp...

编程小透明的博客 2234

MISRA C 详解 · 专栏06:2023 与 2025 更新总览(相对 2012 的差异)

本专栏 01~05 篇基于(143 规则 + 16 指令)。这六年间标准又前进了两步——(大改)和(微调)。本文补充说明「相对 2012,标准变在哪」,并给出新增规范的代表性示例。

XavierKong的博客 71

spring-boot整合shiro实现权限管理

1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 4.0.0 2.GITHUB地址 https://github.com/nbfujx/springBoot-learn-demo/tree/master/spring-boot-shiro ...

weixin_34293141的博客 86

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Shiro基础

Shiro基础: http://kdboy.iteye.com/ http://www.cnblogs.com/xql4j/archive/2013/03/30/2990841.html

ntc10095的博客 287

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Shiro依赖

Shiro依赖

zhangaiav的博客 186

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

apache-shiro 学习笔记

(一) 看到SpringSide4居然也用shiro作为安全框架,不是用的spring-security。着实有点惊讶。 apache-shiro的强大可见一斑。 (二) apache-shiro依赖的包 [code="xml"] org.apache.shiro shiro-core 1.2.1 org.apache.shiro shiro-web ...

马勒・格・彼得 301

jfinal配置shiro

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33786077的博客 301

spring整合shiro

这里用的是SpringMVC-3.2.4和Shiro-1.2.2,示例代码如下 首先是web.xml [html] view plaincopyprint?       xmlns="http://java.sun.com/xml/ns/javaee"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

u011120983的博客 331

Shiro+SpringBoot+JPA

环境准备 Spring Boot 2.0.4.RELEASE pom.xml <dependency>       <groupId>org.springframework.boot</groupId>       <ar...

renbowen9758的博客 395

SpringMVC整合Shiro

这里用的是SpringMVC-3.2.4和Shiro-1.2.2,示例代码如下 首先是web.xml [html] view plaincopyprint? xml version="1.0" encoding="UTF-8"?>   web-app version="2.5"       xmlns="http://jav

Larry_Lee88的专栏 1228

研发自己的框架体系思路

主要的系统结构和所用的框架基本已经设计好了,系统采用Maven构建,分模块构建,三层结构采用的是SpringMVC+Spring+Hibernate搭建,前端采用Extjs4的mvc结构,项目基本的骨架就是这样。然后再逐步填充丰富其中的内容。预期的模块有: 1、基于AOP的日志管理模块,通过Spring AOP自动拦截系统业务日志并保存; 2、集成常用的用户-角色-部门-权限管理模块,提供用户

liangyixin19800304的专栏 1083

LangChain4j权限管理实战:Java AI框架访问控制设计

访问控制是系统安全的核心机制,涉及身份认证、权限校验和访问决策三个关键环节。在Java生态中,传统方案如Spring Security通过Filter+Annotation实现方法级权限控制,而新兴的AI框架LangChain4j需要额外处理动态上下文访问和多级权限继承等特性。通过结合JWT认证与自定义权限注解,开发者可以构建适配大语言模型场景的RBAC扩展方案,典型应用包括银行AI客服的敏感操作管控。本文以工具链拦截和策略分层设计为重点,详解如何在保障性能的同时实现Prompt级别的细粒度权限控制,并分享

congji3817的博客 700

pom中shiro依赖需要添加的

<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency>

wtfsb的博客 2117

Shiro(1) 简单shiro应用

一,什么是shiro? 是一个功能强大且易于使用的Java安全框架,它执行身份验证,授权,加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序-从最小的移动应用程序到最大的Web和企业应用程序。 官网参考:http://shiro.apache.org/ 二,为什么要使用shiro? 项目中密码是否可以明文存储(加密) 项目中功能,在用户没有登录下是否可以使用(会话管理) 已经登录的用户是否可以访问项目中所有功能(权限管理) 三,shiro 架构实现原理 程序代码通过Sub

不负年华 262
上一篇: 3-Shiro框架-多Realm认证
下一篇: 1-Laravel-Http路由
Suzuki Mirai
博客等级 码龄9年 17粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值