【Java】若以框架(ruoyi-master)——9.shiro安全框架

news/2024/10/18 10:07:08/文章来源:https://www.cnblogs.com/luyj00436/p/18473455

若依采用了Apache Shiro是Java的一个安全框架。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。其不仅可以用在 JavaSE环境,也可以用在 JavaEE 环境。

之前,为了了解shiro,我做了一些入门:

  •  【shiro】1.快速入门
  • 【shiro】2.认证、授权、源码分析
  • 【shiro】3.Springboot实现缓存
  • 【shiro】4.Springboot集成shiro
  • 【shiro】5.多个Realm的使用和实现
  • 【shiro】6.退出系统
  • 【shiro】 7.RememberMe(记住我)功能
  • 【shiro】8.后端服务接口注释
  • 【shiro】9.前端页面授权控制
  • 【shiro】10.会话管理

学会了SPringboot集成shiro,登录、shiro配置、缓存(Redis和EhCache)、记住我,接口注释、前端授权、会话管理等。接下来,我们看看若依(前后端没有分离的版本)如何实现shiro安全控制的。

1. 查看依赖

打开主项目的pom.xml。依赖+注释很清楚。我们可以看到,使用了shiro框架、EhCache缓存、使用thymlaf模板与shiro整合。

 2. 查看配置

打开 ruoyi-framework 项目,可以看到配置目录config包下的ShiroConfig.java和shiro包。shiro包是config配置下,进一步引用。由于基础知识,我们知道realm放置自定义的realm域(认证和授权方法)、remberMe(记住我)方法 、web(过滤器),serice(服务,会变引用)、utils(工具方法,会被引用)。

 所以,我们下打开配置文件ShiroConfig.java

 我们可以找到第一步shiro配置方法。设置安全管理器、指定一些登录页面、权限认证失页面、匿名访问内容、退出方法等不一而足。具体到配置,使用的东西更多,可以根据这些源码,一点一点儿学。

 realm授权和登录

3. 注解

我们打开很controller(接口)可以找到  @RequiresPermissions ,这些注解用于确定该接口的权限。访问接口时,可以自动判定该用户是否有权限。

 4.前端页面授权

这里,前面页面会基于不同权限,显示不同的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/816736.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter进阶(2):国际化开发

在全球化趋势下,应用支持多语言是非常重要的。Flutter 提供了强大的国际化(i18n)支持,可以通过 flutter_localizations 与 gen-l10n 工具生成的本地化类来实现不同区域和语言的适配。本篇博客将介绍如何在 Flutter 项目中使用 flutter_localizations,并实现多语言支持与动…

网站后台如何修改网页?公司网站修改怎么做?

要修改网站后台中的网页,通常涉及以下几个步骤:登录后台管理系统:使用管理员账号和密码登录到网站的后台管理系统。导航至页面管理:在后台管理系统中找到“页面管理”、“内容管理”或类似名称的模块。选择要编辑的页面:在页面列表中找到你需要修改的页面,点击编辑按钮。…

基于 Python + Vue3!一个轻量级的域名和 SSL 证书监测平台!

Domain Admin —— 一个基于 Python + Vue3.js 技术栈实现的域名和 SSL 证书监测平台。大家好,我是 Java陈序员。 在企业开发中,由于业务众多,涉及到很多业务域名证书,证书过期由于遗忘常常未能及时续期,导致线上访问异常,给企业带来损失! 今天,给大家介绍一个轻量级的…

怎么修改网站ftp密码?

修改网站FTP密码的方法取决于你使用的FTP服务提供商或Web主机控制面板。以下是一些常见的方法:通过cPanel修改FTP密码:登录到你的cPanel账户。 在文件部分找到“FTP 账户”选项并点击。 找到你想要更改密码的FTP账户。 点击“更改密码”或类似的按钮。 输入新密码,并确认。 …

麻将计分器微信小程序的开发

如何开发微信小程序 前言 因为最近沉迷和朋友们一起下班去打麻将,他们推荐了一个计分的小程序,就不需要每局都转账或者用扑克牌记录了,但是这个小程序不仅打开有广告,各个页面都植入了广告,用起来十分不适。 于是我就心里暗自下定决心,一定要撸一个没有广告的小程序。一周…

python+selenium+pycharm自动化环境搭建

一、python环境搭建: 工具及驱动: 通过百度网盘分享的文件:自动化学习链接:https://pan.baidu.com/s/1_-KX_s1WeLBa7UV3y0H3zQ 提取码:m8nx 1. python下载地址: 官网下载地址:https://www.python.org/57 2.根据自己的电脑环境下载安装即可; 3.环境变量配置:将D:\pytho…

模板网站可以修改内容吗?网站修改资料页面模板?

模板网站通常提供了多种方式让用户自定义和修改内容,具体方法取决于所使用的模板平台或工具。以下是几种常见的修改方式:文本编辑:大多数模板网站允许用户直接在页面上编辑文本内容,如标题、段落等。 图片更换:用户可以通过上传自己的图片来替换模板中的默认图片。 颜色调…

TowardsDataScience-博客中文翻译-2022-五十二-

TowardsDataScience 博客中文翻译 2022(五十二)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0一维信号的迁移学习原文:https://towardsdatascience.com/transfer-learning-with-a-one-dimensional-signal-76a0d543e9aa加上数据洞察力图片作者。 目录——简介 ——信号统计…

网站中的修改在后台哪里?

对于大多数网站来说,修改内容通常需要通过后台管理系统进行。具体步骤可能因不同网站而异,但一般流程如下:登录后台:首先,你需要登录到网站的后台管理系统。这通常需要一个管理员账号或具有相应权限的账号。 找到内容管理:登录后,查找“内容管理”、“页面管理”或类似名…

TowardsDataScience-博客中文翻译-2022-四十四-

TowardsDataScience 博客中文翻译 2022(四十四)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0Python 中的求根方法原文:https://towardsdatascience.com/root-finding-methods-from-scratch-in-python-84040c81a8ba使用 Python 的二分法、牛顿法和割线法数学求根算法 介绍…

TowardsDataScience-博客中文翻译-2022-四十九-

TowardsDataScience 博客中文翻译 2022(四十九)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0测量误差对线性回归模型的影响原文:https://towardsdatascience.com/the-effect-of-measurement-errors-on-a-linear-regression-model-c853bb689974图片由皮克斯贝 ( 牌照)的安…

TowardsDataScience-博客中文翻译-2022-二十九-

TowardsDataScience 博客中文翻译 2022(二十九)原文:TowardsDataScience 协议:CC BY-NC-SA 4.0如何使用计算机视觉读取酒瓶上的标签?(第一部分)原文:https://towardsdatascience.com/how-to-read-a-label-on-a-wine-bottle-using-computer-vision-part-1-25447f97a761欢迎…