SpringBoot+Shiro+JWT权限管理 Shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理. 使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序. 三个核心组件:Subject, SecurityManager 和 Realms. Subject代表了当前用户的安全操作,即"当前操作用户". SecurityManager:它是Shiro框架的核心,典型的…
村长让小王给村里各系统来一套SSO方案做整合,隔壁的陈家村流行使用Session+认证中心方法,但小王想尝试点新鲜的,于是想到了JWT方案,那JWT是啥呢?JavaWebToken简称JWT,就是一个字符串,由点号连接,可以Encoded和Decoded进行明文和密文转换,结构如下: 头部,声明和签名,头部(header)说明加密算法.类型等,声明(payload)内容如账号密码信息或需要传输的内容,签名(signature)即对声明进行加密生成的签名,用于防篡改.这样,SSO就无需认证中心了,…
背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为和MySQL.MongoDB等数据库的用户管理完全不一样,为方便自己以后直接查阅,本文对其用户权限管理方面进行梳理说明. 说明       ClickHouse作为一个分析类型(OLAP)的数据库系统,相对于MySQL数据库在用户管理方面有很大不同,它是通过修改配置文件来实现用户权限管理的.在安装好…
软件界有只猫,不用我说,各位看官肯定知道是哪只,那就是大名鼎鼎的Tomcat,现在又来了一只猫,据说是位东方萌妹子,暂且认作Tom猫的表妹,本来叫OpencloudDB,后又改名为Mycat,或许Cat更亲切?那现在就来认识下这只小猫吧. 数据库的核心地位就不说了,但现在的问题是,各种RDB,各种NoSQL交织,又是分布式.多租户的场景下,心里有没有十足的把握能稳住如此局面呢.有需求,就有市场!自然,相应的技术也应运而生,Mycat作为一款DB中间件,可以作为应用和DB间的“桥梁”,让后台DB的…
各位看官,先提个问题,如果让你设计一套秒杀系统,核心要点是啥???我认为有三点:缓存.限流和分离.想当年12306大面积崩溃,还有如今的微博整体宕机情况,感觉就是限流降级没做好,"用有限的资源响应过量请求"——这就是限流降级的核心.限流降级组件,当今开源界应该是Hystrix最为出名,这也得益于SpringCloud的流行,当然,挑战者总是有的,于是Sentinel横空出世,正因实际生产使用中似乎并不多见,所以才有必要拿来一用,不然就脱离了此系列文章的主旨了,就是要见些不一样的风景!…
中国武术,门派林立,都是号称多少代的XXX传人,结果在面对现代武术时,经常被KO秒杀,为啥,光靠宣传和口号撑门面,终究是靠不住,必须得有真货 ,得经得住考验,所以不能只说Sentinel有多好,也得给出些证据,那么,前文实践了规则生成和使用,再来看看SentinelDashboard,体验下是否真如宣传的那么强大,并配合Nacos做规则统一配置和推送,下面我们就来操作一把,内容较多,分两部分. 工具: Idea201902/JDK11/ZK3.5.5/Gradle5.4.1/RabbitMQ3.…
Quartz词义为"石英"水晶,然后聪明的人类利用它发明了石英手表,因石英晶体在受到电流影响时,它会产生规律的振动,于是,这种时间上的规律,也被应用到了软件界,来命名了一款任务调度框架--Quartz.现实软件逻辑中,周期任务有着广泛的存在,如定时刷新配置信息,定期盘点库存,定时收发邮件等,至于定时任务处理,也有Spring的ScheduledThreadPool,还有基于注解@Scheduled的方式,ScheduledThreadPool主要是基于相对时间,不方便控制,而@Sche…
外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索与分析产品,搜索软件公司 Elastic 上市了!首日市值翻倍!Elastic 从小工具「逆袭」成为上市公司,依靠其技术影响者众多企业,并促进整个行业发展的模式变革,向众多渴望创业的程序员证明了一个道理:技术创业是可行的,并且有着良好的前景.你要不要试试呢? 准备: Idea2019.03/Grad…
Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Python对象,又可以把它完整的取出来,这被称为持久的存储对象.类似的,还有一个功能与之相同的模块—cPickle,用c语言编写的,速度比pickle快1000倍. 2,示例: import cPickle as p shoplistfile='shoplist.data' shoplist=['apple…
自从小王玩起了微服务,发现微服务果然很强大,好处真是太多,心中暗喜,然而,却也遇到了分布式中最棘手的问题:分布式事务.小王遍访各路神仙,也无个完美开源解决方案,当然,也有些实际可行的手法,虽不算完美,但也可拿来研究一番,那今天我们也来说说分布式事务. 分布式事务的起源,即因各服务是独立的,各自使用独立的DB,那本地事务可以保证事务式执行,但其他服务上关联的事务呢?之前Dubbo学习系列之六(微服务架构实战)项目中铺垫的最大bug在于:如果订单付款中异常,本地订单数据将会自动回滚,然而库存服务和物…