Shiro:初识Shiro及简单尝试】的更多相关文章

shiro学习教程来自开涛大神的博客:http://jinnianshilongnian.iteye.com/blog/2018936 第一章 初识shiro 简单了解shiro主要记住三张图即可. 还要记住一点,Shiro不会去维护用户.维护权限:这些需要我们自己去设计/提供:然后通过相应的接口注入给Shiro. 图1:shiro基本功能图 Authentication:身份认证/登录,验证用户是不是拥有相应的身份: Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某…
最近在重构,有空学了一个简单的安全框架shiro,资料比较少,在百度和google上能搜到的中文我看过了,剩下的时间有空会研究下官网的文章和查看下源码, 简单的分享一些学习过程: 1,简单的一些概念上的认知 2,使用认证的基本流程 3,shiro集成spring完成简单的认证流程,已实现 1 建一个maven的web项目,引入依赖   springmvc的的依赖       <dependency>             <groupId>org.springframework&…
权限控制常用的有shiro.spring security,两者相比较,各有优缺点,此篇文章以shiro为例,实现系统的权限控制. 一.数据库的设计 简单的五张表,用户.角色.权限及关联表: CREATE TABLE `sysrole` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(255) NOT NULL, `role` varchar(255) NOT NULL COMMENT '角色名', PRIM…
shiro 可以做认证.授权.加密.会话管理.与web集成.缓存. 在本文中,主要使用认证和授权这两个功能. 在shiro框架中,有些很重要的概念: Subject    很多人把它理解为当前用户,这只是subject的概念的一部分.官方文档上是这么说的,Security specific user ‘view’ of an application user. It can be a human being, a third-party process, a server connecting…
Shiro (Shiro + JWT + SpringBoot应用) 目录 Shiro (Shiro + JWT + SpringBoot应用) 1.Shiro的简介 2.Shiro + JWT + SpringBoot 1.导入依赖 2.配置JWT 3.配置Shiro 4.实现JWTToken 5.实现Realm 6.重写Filter 7. ShiroConfig 8.登陆 9.@RequiresPermissions 1.Shiro的简介 Apache Shiro是一种功能强大且易于使用的J…
简单尝试Spring Cloud Gateway 简介 Spring Cloud Gateway是一个API网关,它是用于代替Zuul而出现的.Spring Cloud Gateway构建于Spring生态系统之上,包括Spring5,SpringBoot2等.它的目标是提供简单.有效的方式路由你的API. Spring Cloud Gateway不能在传统的Servlet容器中工作,也不能构建成一个war包工作.这一点很重要. 重要概念 路由:Gateway的基础构建模块.它包括一个ID,一个…
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 --> <!-- 这里filter-name必须对应applicationContext.xml中定义的<bean id="shiroFilter"/> --> <!-- 使用[/*]匹配所有请求,保证所有的可控请求都经过Shiro…
Shiro 一.什么是Shiro Apache Shiro是Java的一个安全(权限)框架 作用:认证.授权.加密.会话管理.与web集成.缓存等 下载地址:http://shiro.apache.org/download.html 二.Shiro的架构 1)subject:可以与应用交互的“用户” 2)SecurityManager:相当于SpringMVC中的DispatcherServlet:是Spring的心脏,交互都由其控制.管理所有的subject且负责进行认证.授权.会话及缓存的管…
1.1简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序. Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shi…
Shiro是Apache基金会下的一个开源安全框架,提供了身份验证.授权.密码学和会话管理等功能,Shiro框架不仅直观易用,而且也能提供健壮的安全性,另外一点值得说的是Shiro的前身是一个始于2004的开源项目JSecurity,该项目于2008年加入Apache,并于2010年成为Apache的顶级项目. OK,以上是关于Shiro的一点简单介绍,实际上,我在之前有一篇关于权限控制的博客在Spring Boot中使用Spring Security实现权限控制,Shiro的功能没有Sprin…
本系列内容大多总结自官网和张开涛的<跟我学Shiro> 一.shiro简介 1.1.shiro有什么用? shiro是一个功能强大使用简单的java安全框架,主要提供了五大功能: 1.认证:用户身份认证,也就是登陆: 2.授权-访问控制:通过一些配置,用户登录后会自动被赋予相应的身份和操作权限,实现访问控制: 3.密码加密-保护或隐藏数据防止被偷窥: 4.会话管理 5.缓存 shiro还支持一些辅助特性,如Web应用安全.单元测试和多线程,它们的存在强化了上面提到的五个要素. 1.2.shir…
Shrio是什么? Shrio是一个用Java开发的安全框架,用来保证系统或系统数据安全的.他可以用在大多数程序上,比如移动应用程序.Web程序或者大型的企业应用程序等. Shrio能干什么? 能用来做身份验证(如:用户名和密码登陆的验证).授权(如:判断登陆的用户是否具有某个权限).加密(把密码进行MD5加密成一串代码).会话管理(类似于Web程序的Session管理)等等. 这里用web程序举例子: 通常用户请求一个资源或者访问一个功能的时候,需要检测下用户是不是登陆状态或者说检测下登陆的用…
[TOC] 认证流程 st=>start: Start e=>end: End op1=>operation: 构造SecurityManager环境 op2=>operation: Subject.login()提交认证 op3=>operation: SecurityManager.login()执行认证 op4=>operation: Authenticator执行认证 op5=>operation: Realm根据身份获取认证信息 st->op1-&…
前言 selenium是一种自动化测试工具,简单来说浏览器会根据写好的测试脚本自动做一些操作. 关于自动化测试,一开始接触的是splinter,但是安装的时候发现它是基于selenium的,于是打算直接尝试selenium. 个人观点,selenium比splinter较为成熟,但是splinter较为直观.简单. 安装方法网上有很多,这里不赘述了. 代码 写了个简答的测试脚本,就是打开哔哩哔哩,然后在搜索框中搜索. #encoding=gbk from selenium import webd…
毫无疑问,我是个不善于写博文的人. 毫无疑问,react是个出的框架. 毫无疑问,react-native更是个牛逼的引擎. 我个人对react-native的理解就是js被js引擎编译,去调用本地语言提供的接口,然后达到原生语言能达到的视觉效果和运行效果,就是这么简单. 然而,在实际接触中,哪有那么简单. 首先吐槽的就是react-native init方法居然要FQ,还好公司的是海外带宽,创建之后可以带回家继续开发. 还有就是我这个中国人能看得懂的中文文档太少了,国内基本没几篇原创的文章,大…
由于之前着重于web漏洞,主机漏洞这块比较薄弱.也没有用过metasploit,对于很多系统漏洞还不熟悉,正好这几天不忙,就想着慢慢学习,再写点简单的东西,进行总结记录. 这次尝试的是MS12-020,可导致BSOD(死亡蓝屏) MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞, 远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称"本地电脑")连上提供微软终…
一.数据库概述 1.1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机. 1.2 什么是数据库(DataBase,简称DB) 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的. 数据库是长期存放在计算机内.有组织.可共享的数据.数据库中的数据按一定数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种用户…
一.使用的spring boot +mybatis-plus+shiro+maven来搭建项目框架 <!--shiro--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.0</version> </dependency> <dependency…
1. 首先新建一个shiroConfig  shiro的配置类,代码如下: @Configuration是标识这个类是一个配置文件,在启动时会加载这个类里面的内容,这个配置文件的位置的一定一定一定不能防止启动类外面的文件夹中,否则还会在启动类上加注解 @Bean是将这个类交给spring管理 @Configuration public class SpringShiroConfig { /** * @param realms 这儿使用接口集合是为了实现多验证登录时使用的 * @return */…
1. 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-j…
因为学习和工作的需要用到登陆海外网站查阅相关的资料和文档,之前有需要使用的时候是问网友索要的账户登录本地电脑拨号的,但是老是跟别人要还是不好,决定自己尝试搭建一个长期使用.看到有不少的介绍提到VULTR新注册账户赠送余额,这样我也申请了账户,但是在搭建上遇到一些困难.网上的资料还是比较多,但是所谓的一些一键包都无法使用,有用户提到是不适合VULTR的使用,这就纳闷了. 通过几天的实验和使用,终于搭建完成PPTP,这样把几个方法整理出来,方法来自网上,只是把可以实现的方法记录下来(查看了网上一些一…
网络电视精灵 任务描述 1. 解析XML文件中的数据 三个简单的xml文件; <?xml version="1.0" encoding="utf-8" ?> <TVChannele> <Channel> <channelType>TypeA</channelType> <tvChannel>北京电视台</tvChannel> <path>files/北京电视台.xml&l…
距离上一篇博文好像隔了很久的时间了额.好像是堕落了一阵子,前些时间去杭州找工作,被租房的事情给搞懵逼了,然后就回来了,回来在修炼一个月在出去奋斗把!加油,这两天把jquery,easyui和bootstrap这几个东西给记录一下,之前就学过,但是没记录下来,所以忘的很快,又没地方去复习,所以还是记录记录这些知识点.以便将来查看复习. --WH 一.什么是Jquery? 其实超级简单,不要把它想的太难了,Jquery就是一个js(javascript)类库. 1.1.什么是js类库? [JavaS…
第一次完成了一个注入呢,虽然是恬不知耻的用sqlmap跑出来的 简单介绍注入时后台的数据等级,有助于后面的理解 ①可以类比成一个装着excel文件的文件夹,每一个excel文件就相当于一个数据库 ②库的下一级是表,相当于一个文件中存在的sheet表 ③表的下级是列 ④每一列中又有字段,可以相当于excel中的一个格格啦 简单记一下步骤,大佬们不要嘲笑我这个菜鸡啦 1.获得注入点,一般在URL末尾存在参数 2.爆出所有数据库名称 3.选定数据库,列出其中的表 4.列出选定表中的列 5.列出选定列中…
工作需要,研究了一下Nginx的反向代理实现负载均衡,网上搜了一下教程,大多含糊不清,所以写下这个,权当总结,方便日后查看,如果能恰好帮到一些需要的人,那就更好了 先说需求,域名指向搭建了Nginx的服务器A,然后由A负载均衡到装有tomcat的服务器B和服务器C(不知道“由A负载均衡到B.C”这种说法对不对) 先说环境: 服务器ABC均为优麒麟(ubuntukylin)14.04 服务器A装有Nginx1.6.3 服务器B.C使用tomcat6 准备工作: 1.设置服务器A的IP为192.16…
百度爬虫这个词语,一般出现的都是python相关的资料. py也有很多爬虫框架,比如scrapy,Portia,Crawley等. 之前我个人更喜欢用C#做爬虫. 随着对nodejs的熟悉.发现做这种事情还是用脚本语言适合多了,至少不用写那么多的实体类.而且脚本一般使用比较简单. 在github上搜索node+spider,排名第一的就是node-crawler github:https://github.com/bda-research/node-crawler 简单使用 npm 安装: np…
\x 01 前言 DEP是数据执行保护的英文缩写,全称为Data Execution Prevention.数据执行保护(DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码,在 Microsoft Windows XP ServicePack 2及以上版本的Windows中,由硬件和软件一起强制实施DEP(这个技术还是比较老的了).自从这个技术出现以来也出现了各种各样的方法来绕过,主要的方法为构造ROP链来绕过 下面是百度学术上找的文章,资料太少了,主要的意思就是…
一.spring boot核心 配置在类路径下autoconfigure下(多瞅瞅) @SpringBootApplication里的重要注解(@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合.) @ComponentScan:默认就会装配标识了@Controller/@Service/@Component/@Repository注解的类到spring容器中 @Component是一个元注解,意思是可以注解其他类注解泛指组…
今天golang终于发布了1.18版本,这个版本最大的一个改变就是加入了泛型.虽然没有在beta版本的时候尝试泛型,但是由于在其他语言的泛型经验,入手泛型不是件难事~ 官方示例 Tutorial: Getting started with generics - The Go Programming Language 根据官方示例可以看出,在go中泛型声明使用中括号,大体用法也与其他语言差不多.下面就官方示例中出现的几个点做记录. comparable 在泛型的约束中有 comparable 关键…
最近在自己瞎整设计自己的数据访问层(纯属深入了解C#用),遇到了反射.网传反射性能很差,可是我们项目中也有功能用到了反射,总体来说还不错(小项目).由于居安思危的感觉越发沉重,不得不去打破传统,去寻求可以替代反射,稍加提高性能的方式,于是乎就到了现在. 我最讨厌,什么看见别人用反射就说性能差,以一言以带过,去问他怎么优化,半天都不知所云(在项目中用反射的时候,很多同事都是这样).如果是真正的大神都会先列出自己以前用到的反射,然后给出优化方案. 以下就是博客园最盛行的关于dynamic简化反射的文…