# `sureness` [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) ## `Introduction` > `sureness` 是作者在使用`java`权限框架`shiro`之后,吸取其良好的设计加上一些自己想法实现的全新认证鉴权项目 > 面对`restful api`的认证鉴权,基于`RABC`主要关注于对`restful api`的保护 > 原生支持 `restful api` > 原生支持动态权限(权限配置的动态加载) > 原生支持 `jwt`, `Basic Auth` ... 可扩展自定义支持的认证方式 > 基于改进的字典匹配树大大提高性能 >`sureness`的低配置,易扩展,不耦合其他框架,能使开发者对自己的项目多场景快速安全的进行保护 ### 仓库的组成部分: - [sureness的核心代码--sureness-core](core) - [使用sureness10分钟搭建权限项目--sample-bootstrap](sample-bootstrap) - [使用sureness30分钟搭建权限项目--sample-tom,开发中](sample-tom) ### 一些约定 - 基于`RABC`,但只有(角色-资源)的映射,没有(权限)动作 - 我们将`restful api`请求视作一个资源,资源格式为: `requestUri===httpMethod` 即请求的路径加上其请求方式(`post,get,put,delete...`)作为一个整体被视作一个资源 `eg: /api/v2/book===get` `get`方式请求`/api/v2/book`接口数据 - 用户所属角色--角色拥有资源--用户拥有资源(用户就能访问此`api`) - `have fun` ### 使用 `maven`坐标 ``` com.usthe.sureness sureness-core 0.0.1.1 ``` `gradle`坐标 ``` compile group: 'com.usthe.sureness', name: 'sureness-core', version: '0.0.1.1' ``` 若权限配置数据来自文本,请参考[使用sureness10分钟搭建权限项目--sample-bootstrap](sample-bootstrap) 若权限配置数据来自数据库,请参考[使用sureness30分钟搭建权限项目--sample-tom,开发中](sample-tom) ### 进阶扩展 ### 处理流程 ![sureness-core](/img/sureness-core.svg) ### License `sureness is licensed under` [`Apache License, Version 2.0`](https://www.apache.org/licenses/LICENSE-2.0.html)