# tangdao **Repository Path**: memcacheon/tangdao ## Basic Information - **Project Name**: tangdao - **Description**: Tangdao 是一个基于角色的授权(RBAC - Role-Based Authorization)的综合权限系统,用于提供和配置(集中授权)认证策略在服务运行时的访问权限。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://ruyangit.gitee.io/2020/tangdao/spa - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 116 - **Created**: 2020-03-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 综合权限管理系统(Tangdao)

JDK Spring Boot LICENSE

star star

## 简介 Tangdao 是一个基于角色的授权(RBAC - Role-Based Authorization)系统,用于提供和配置(集中授权)认证策略在服务运行时的访问权限。 **前端:[预览](https://ruyangit.gitee.io/2020/tangdao/spa)** ## 架构 data_model ## 主要功能 用户,用户组,角色,资源,权限策略,服务,设置。 RBAC Role-Based Authorization PBAC Policy-Based Authorization ## 模块描述 | 模块 | 说明 | 版本 | | --- | --- | --- | | module-core-api | 基础数据服务 | 0.2.2 | | module-security | 访问控制核心 | 0.2.6 | ## 访问控制 **策略元素** ```javascript Version: Statement: [ { Sid: Effect: Action: [...] Resource: [...] Condition: [ { Bool, StringEquals, StringNotEquals, . . . } ] } ] ``` **操作(Action)** ``` 所有的服务操作都是通过通配符匹配 action:["*"] or action:["*:*"] // iam 服务下的所有操作 action:["iam:*"] // iam 服务下的创建,更新用户操作,多个操作同时指定 action:["iam:CreateUser","ima:UpdateUser"] ``` **判定规则** 根据参数条件判断策略对象是否通过。该方法首先查找策略,对策略的资源操作条件的组合进行显示判断,其效力具有显示拒绝,如果存在这样的策略则拒绝优先。如果没有这样的策略,通过evaluate判断如果找到这样的策略,evaluate返回true,如果找不到匹配返回false。请在[Amazon](https://docs.aws.amazon.com/IAM/latest/UserGuide/accesspolicyluage_EvaluationLogic.html) 查找到更多的详细解释。 **策略** ```javascript [{ "Version": "2020-01-01", "Statement": [{ "Sid": "Test1", "Effect": "Allow", "Action": [ "iam:CreateUser", "iam:EnableUserStatus" ], "Resource": [ "core:iam:user/${aws:username}" ] }, { "Sid": "Test2", "Effect": "Allow", "Action": [ "iam:DeleteUser" ], "Resource": [ "core:iam:user/${aws:username}" ], "Condition": { "DateGreaterThan": { "CurrentTime": "2020-01-30T01:01:01Z" }, "Bool": { "MultiFactorAuthPresent": true }, "NumericLessThanEquals": { "FailedLoginAttempts": 3 } } }] }, { "Version": "2020-01-01", "Statement": [{ "Sid": "Test3", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:ListRoles" ], "Resource": ["*"] }] }] ``` ## 运行项目 ``` 1、开发环境 mvn springboot:run ``` ``` 2、生产环境 mvn package -f pom.xml -Dmaven.test.skip=true ``` ## 参考资料 ``` 整理中 ``` ## 贡献 ``` 无 ``` ## 版权 Copyright 2016 ruyangit Inc. Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0