【Shiro】第四章 Web项目集成Shiro(三)

简介: 【Shiro】第四章 Web项目集成Shiro(三)

【7】测试

【7.1】启动

点击apply然后点击OK

 

【7.2】登录过滤

访问http://localhost:8080/platform/home的时候,会被

【7.3】角色过滤

使用“admin”用户登录,密码:123

根据SecurityServiceImpl我们可以知道使用admin账号

登录成功之后:

此时点击“列表”,因为当前admin用户是有admin角色

 

所有可以正常访问

 

点击“添加”,因为当前admin用户是没有order:add的资源

 

所以回401

 

【7.4】资源过滤

点击“退出”

 

使用“jay”用户登录,密码为123

 

点击“添加”

 

因为SecurityServiceImpl中为jay用户添加如下的资源

 

点击“添加”之后正常访问

 

点击“列表”之后,因为“jay”用户满意“admin”角色,所以访问受限

 

4、web项目授权

前面我们学习了基于ini文件配置方式来完成授权,下面我们来看下其他2种方式的授权

【1】基于代码

【1.1】登录相关
Subject 登录相关方法 描述
isAuthenticated() 返回true 表示已经登录,否则返回false。
【1.2】角色相关
Subject 角色相关方法 描述
hasRole(String roleName) 返回true 如果Subject 被分配了指定的角色,否则返回false。
hasRoles(List<String> roleNames) 返回true 如果Subject 被分配了所有指定的角色,否则返回false。
hasAllRoles(Collection<String>roleNames) 返回一个与方法参数中目录一致的hasRole 结果的集合。有性能的提高如果许多角色需要执行检查(例如,当自定义一个复杂的视图)。
checkRole(String roleName) 安静地返回,如果Subject 被分配了指定的角色,不然的话就抛出AuthorizationException。
checkRoles(Collection<String>roleNames) 安静地返回,如果Subject 被分配了所有的指定的角色,不然的话就抛出AuthorizationException。
checkRoles(String… roleNames) 与上面的checkRoles 方法的效果相同,但允许Java5 的var-args 类型的参数
【1.3】资源相关
Subject 资源相关方法 描述
isPermitted(Permission p) 返回true 如果该Subject 被允许执行某动作或访问被权限实例指定的资源,否则返回false
isPermitted(List<Permission> perms) 返回一个与方法参数中目录一致的isPermitted 结果的集合。
isPermittedAll(Collection<Permission>perms) 返回true 如果该Subject 被允许所有指定的权限,否则返回false有性能的提高如果需要执行许多检查(例如,当自定义一个复杂的视图)
isPermitted(String perm) 返回true 如果该Subject 被允许执行某动作或访问被字符串权限指定的资源,否则返回false。
isPermitted(String…perms) 返回一个与方法参数中目录一致的isPermitted 结果的数组。有性能的提高如果许多字符串权限检查需要被执行(例如,当自定义一个复杂的视图)。
isPermittedAll(String…perms) 返回true 如果该Subject 被允许所有指定的字符串权限,否则返回false。
checkPermission(Permission p) 安静地返回,如果Subject 被允许执行某动作或访问被特定的权限实例指定的资源,不然的话就抛出AuthorizationException 异常。
checkPermission(String perm) 安静地返回,如果Subject 被允许执行某动作或访问被特定的字符串权限指定的资源,不然的话就抛出AuthorizationException 异常。
checkPermissions(Collection<Permission> perms) 安静地返回,如果Subject 被允许所有的权限,不然的话就抛出AuthorizationException 异常。有性能的提高如果需要执行许多检查(例如,当自定义一个复杂的视图)
checkPermissions(String… perms) 和上面的checkPermissions 方法效果相同,但是使用的是基于字符串的权限。
目录
打赏
0
0
0
0
80
分享
相关文章
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
61 7
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。 本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Electron 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。本项目同时引用了 @openim/electron-client-sdk 和 @openim/wasm-client-sdk,分别为 Electron 版本和 Web 版本的 SDK,可以同时构建 PC Web 程序和桌面应用(Wi
40 2
DzzOffice:太完美啦,开源免费Word、Exce、PPT,多人同时协作,最主要还有免费的网盘,将这个项目集成到你的产品里面,项目立刻拥有整套offce解决方案
嗨,大家好,我是小华同学。DzzOffice是一个免费开源的企业协同办公平台,适合中小型企业及团队使用,功能涵盖网盘、文档、表格、演示文稿等,支持企业微信和钉钉移动办公,保障数据私有部署安全。 关注我们,获取更多优质开源项目和高效工作学习方法。
178 5
SpringBoot集成Shiro权限+Jwt认证
本文主要描述如何快速基于SpringBoot 2.5.X版本集成Shiro+JWT框架,让大家快速实现无状态登陆和接口权限认证主体框架,具体业务细节未实现,大家按照实际项目补充。
109 11
|
4月前
|
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
135 64
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
60 7
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
84 0
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
8月前
|
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
359 6
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
535 4

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等