0%

本篇文章来看看基于角色的权限控制 —— RBAC(Role-Based Access Control),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样就构造成了 『用户-角色-权限』的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系。理解了 RBAC 之后,再通过Spring Security oAuth2来实现基于 RBAC 的自定义认证。

《Spring Security oAuth2(一)》 中主要是oAuth的一些基本概念与四种认证方式,现在就正式开始完成几个主要示例,快速上手Spring提供的Spring Security oAuth2。网上很多示例教程都是使用 JWT(JSON Web Tokens)来管理Token,于是很多人认为oAuth2就应该用JWT来管理Token,其实这是非常错误的想法,后面我会专门就使用 JWT 这个问题进行讨论,看看 JWT 的最佳使用场景。

认证与授权是所有应用都必须要实现的,也是所有后端工程师必备的技能,本篇文章旨在快速上手使用 Spring 提供的 Spring Security oAuth2 搭建一套验证授权及资源访问服务,在实现企业微服务架构时能够有效的控制多个服务的统一登录、授权及资源保护工作。主要内容是oAuth2协议,认证/授权登录的交互过程以及 oAuth 2.0 定义的四种授权模式。

Disruptor 是由 Java 编写的基于内存的高性能队列,最早由英国外汇交易公司LMAX(一种新型零售金融交易平台)开发并开源的,能够在无锁的情况下实现队列的高并发操作,用于在异步事件处理体系结构中提供低延迟,高吞吐量的工作队列。与ArrayBlockingQueue 一样,它通常用于多个线程间的消息传递(常见场景就是生产者-消费者模型),Disruptor 从功能、性能都远好于 ArrayBlockingQueue ,当多个线程之间传递大量数据或对性能要求较高时,可以考虑使用 Disruptor 作为 ArrayBlockingQueue 的替代者。

在之前的 《纯手写路由框架实现Android组件化》 中讲到了Android APT技术,并且在讲解视频中使用APT了技术,加以JavaPoet辅助代码生成实现了一个最简单的基于注解的View注入(其实就是省略了大量的findViewById方法)。如果只是单纯的想体验APT技术带来的便捷性,那么这篇文章非常适合,APT从讲是一个编译期的注解处理工具(Annotation Processing Tool)。一些主流的三方库,如ButterKnife、EventBus等都用到了这个技术来生成代码。

Android调试桥(Android Debug Bridge,简称ADB)。本文主要是记录如何在WLAN网络下进行ABD连接设备以及一些常用的ADB命令,还有ADB的组成以及原理简要说明。

Gradle作为一款优秀的构建工具,也作为是目前Android主流的构建工具,不管是通过命令行还是通过GUI方式构建,背后都是通过Gradle来实现的,所以学习Gradle非常重要。无论是组件化、插件化、热修复等技术都需要对Gradle比较了解,不懂Gradle将无法完成上述事情,所以Gradle必须要学习。这篇文章主要是针对组件化的Android项目,如何使用Gradle完成公共配置项的抽取,Gradle如何定义Task,工程测试环境与正式环境的自动配置等内容。