转载请标明出处:

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. (一)环境安装之Java

    一.安装JDK 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. Java环境分JDK和JRE ,JDK就是Java Development Kit. 简单的说JDK是面向开发人员使用的S ...

  2. 不使用XMLHttpRequest实现异步加载:Iframe和script

    运用Iframe和script可以实现简单的异步加载: 调用页面如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  3. SQL中CASE 的用法 转载

    sql语言中有没有类似C语言中的switch case的语句?? 没有,用case   when   来代替就行了.              例如,下面的语句显示中文年月 select getdat ...

  4. [LeetCode]23. Merge k Sorted Lists合并K个排序链表

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...

  5. 归并排序——Java实现

    一.排序思想 将两个或两个以上的一排序文件合并成一个有序文件的过程叫归并,而归并排序就是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用.将以有序的了序列合并,得到完全有序 ...

  6. scss-注释

    在scss中有两种注释方式 原生css的注释多行注释: /* *  注释的内容 */ 单行注释:// 注释内容一致延续到行末. 在尽可能的情况下,多行注释会被保留在输出的CSS中,而单行注释会被删除.

  7. SQL Server 与 ADO.NET 数据类型映射

    SQL Server 数据类型映射 .NET Framework 4.5 SQL Server 和 .NET Framework 基于不同的类型系统. 例如,.NET Framework Decima ...

  8. Android—PopupWindow的简单使用

    PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,这个Demo要实现的功能是,点击布局中的两个按钮,进而控制PopupWindow的显示与消失,代码中有详细的注释首先看一 ...

  9. 模拟精灵 z

    反复做历史测试,重大改进了卖出的判断模式.此项改进能使系统收益每年增加5%-左右 重新整合了几种买法,使之在熊市更加谨慎.对大盘的反转反应更为灵敏 适当加大了仓位 单独处理有重大机会的股票 加入多种短 ...

  10. MySQL的基础(优化)2

    1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...