Feat: add RBAC support (#3493)

* Feat: add the rbac data model

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add some api about the project

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add CRUD about the project and the project user

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add CRUD about the role and perm check filter function

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: update swagger config

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add default roles and perm policies

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add perm check filter for all webservice

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: change the method that find project name

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: query applications and envs by user perm

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: support get login user info

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Fix: change default permissions

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: change PermPolicy to Permission

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Feat: add some unit test and fix the e2e test error

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Fix: change some comment word

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>

* Fix: e2e api path error

Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
This commit is contained in:
barnettZQG
2022-03-28 16:03:11 +08:00
committed by GitHub
parent 795231ceb5
commit 044c4bf73c
69 changed files with 5026 additions and 932 deletions
+22
View File
@@ -77,3 +77,25 @@ func TestEqual(t *testing.T) {
caseB = []string{"b", "a", "c"}
assert.Equal(t, EqualSlice(caseA, caseB), false)
}
func TestSliceIncludeSlice(t *testing.T) {
caseA := []string{"b", "a", "c"}
caseB := []string{}
assert.Equal(t, SliceIncludeSlice(caseA, caseB), true)
caseA = []string{"b", "a", "c"}
caseB = []string{"b"}
assert.Equal(t, SliceIncludeSlice(caseA, caseB), true)
caseA = []string{"b", "a", "c"}
caseB = []string{"b", "c"}
assert.Equal(t, SliceIncludeSlice(caseA, caseB), true)
caseA = []string{"b", "a", "c"}
caseB = []string{"b", "c", "d"}
assert.Equal(t, SliceIncludeSlice(caseA, caseB), false)
caseA = []string{"b", "a", "c"}
caseB = []string{"b", "c", "a"}
assert.Equal(t, SliceIncludeSlice(caseA, caseB), true)
}