转载请标明出处:

http://blog.csdn.net/forezp/article/details/78616856

本文出自方志朋的博客

目录

为什么有这系列文章

权限控制在任何的系统中都为一个基本模块,没有权限,就不要谈系统。权限控制的重要性不言而喻。在我所做的Spring Cloud微服务系统,采用的权限控制框架为Spring Cloud Oauth2和Spring Boot Securtiy,这两个框架组合构成了一个强大的权限安全模块。搭建好,设置好,其实是非常简单的。Spring Boot Securtiy是对方法层面的控制,所以要在方法上加注解。随着业务的扩张,注解这种方式无疑给开发人员带来了非常大的工作量,由于开发人员的不规范,甚至连注解都不愿意写了。我在思考能不能废弃掉Spring Cloud Oauth2和Spring Boot Securtiy,废弃掉注解,让开发人员从注解中解放出来。

带着这样的思考,我首先想到的是kong api gateway,kong提供了非常多的插件化的模块,能够满足大部分的业务需求,但不能满足RBAC(基于角色的权限控制)。后来就想自己去实现。实现的过程就是不断学习和探索的过程,我从0基础的lua和openresty,花了三天的时间就实现了本系列文章所写的全部功能。另外花了两个周末把这系列文章整理出来。

之所以说是整理文章,因为很多东西并非我原创,甚至直接拿了很多资料、博客的代码,直接复制粘贴。那我为什么要粘贴,为什么不自己写?一是个人时间精力有限,二是已经有了轮子,为什么要自己造一个?三是,为了保证系列文章的完整性。感谢openresty的作者章亦春、openresty 最佳实践的作者WenMing、张开涛等众多开源者和知名博主。

参考资料

所以在此说明下,我参考了甚至copy了以下的博客或者资料:

openresty官方网站:http://openresty.org/en/

openresty 最佳实践: http://wiki.jikexueyuan.com/project/openresty/

跟我学Nginx+Lua开发:http://www.iteye.com/blogs/subjects/nginx-lua

lua入门教程:http://www.runoob.com/lua/lua-tutorial.html

系列文章的源码下载

本系列的文章源码下载地址:

https://github.com/forezp/openresty-best-samples




扫码关注有惊喜

(转载本站文章请注明作者和出处 方志朋的博客)

Openresty最佳案例 | 汇总的更多相关文章

  1. Openresty最佳案例 | 第4篇:OpenResty常见的api

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616660 本文出自方志朋的博客 获取请求参数 vim /usr/example/exa ...

  2. Openresty最佳案例 | 第2篇:Lua入门

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616622 本文出自方志朋的博客 什么是lua Lua 是一种轻量小巧的脚本语言,用标准 ...

  3. Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616738 本文出自方志朋的博客 RBAC介绍 RBAC(Role-Based Acce ...

  4. Openresty最佳案例 | 第9篇:Openresty实现的网关权限控制

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616779 本文出自方志朋的博客 简介 采用openresty 开发出的api网关有很多 ...

  5. Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616714 本文出自方志朋的博客 Lua模块开发 在实际的开发过程中,不可能把所有的lu ...

  6. Openresty最佳案例 | 第6篇:OpenResty连接Mysql

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616698 本文出自方志朋的博客 centos 安装mysl Centos系统下安装my ...

  7. Openresty最佳案例 | 第5篇:http和C_json模块

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616672 本文出自方志朋的博客 http客户端 Openresty没有提供默认的Htt ...

  8. Openresty最佳案例 | 第3篇:Openresty的安装

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616645 本文出自方志朋的博客 我的服务器为一台全新的centos 7的服务器,所以从 ...

  9. Openresty最佳案例 | 第1篇:Nginx介绍

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616591 本文出自方志朋的博客 Nginx 简介 Nginx是一个高性能的Web 服务 ...

随机推荐

  1. jqGrid随窗口大小变化自适应宽度

    $(function(){ $(window).resize(function(){ $("#jqgridID").setGridWidth($(window).width()); ...

  2. Nginx反向代理与负载均衡[转]

    nginx启动和关闭(centos平台) /usr/local/nginx/sbin/nginx #启动 /usr/local/nginx/sbin/nginx -s reload #平滑启动 vi ...

  3. HIVE的sql语句操作

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  4. socket应用

    socket的使用 socket.socket(网络层ip协议蔟,传输层协议类型,默认协议) # server.py # 导入模块 import socket # 实例化服务器,使用ipv4协议,tc ...

  5. iframe中插入代码并执行

    最近有需求通过iframe插入代码.有蛮多方法,如下: 1 var iframe = document.getElementById('previewUrl'); 2 iframe.src = 'ab ...

  6. css 简单梯形

    通过css2D变形我们可以轻松得到平行四边形,那么通过此技巧可以得到梯形吗? no! 不过我们可以通过3D旋转得到类似这样的效果: transform:perspective(0.5em)  rota ...

  7. 18_Condition条件

    [简述] wait()和notify()方法是和synchronized关键字合作使用的. Condition是和重入锁相关联的,通过ReentrantLock.newCondition()生成一个与 ...

  8. sql server性能分析--执行sql次数和逻辑次数

    目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句.做为参考. ...

  9. solidity语言1

    合约(contract)由变量(variable).函数(functions).函数修饰符(function modifiers).事件(events).结构体类型(struct type).枚举类型 ...

  10. 怎样在linux下编写C程序并编译执行

    一.Hello, world! 在linux下输入:(以hello.c为例)首先选中文件要保存的路径(如:cd work)vi hello.c(要编辑的文件名) 输入程序:# include<s ...