From 9d3cce46a8f546ff55600fbd3b70c7b15afcd472 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Mon, 13 May 2019 10:19:42 +0800 Subject: [PATCH] feature: keystone support phase 1 --- pkg/cloudcommon/db/db_dispatcher.go | 1 + pkg/cloudcommon/policy/defaults.go | 12 ++++++++++++ pkg/mcclient/modules/mod_policies.go | 5 +++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkg/cloudcommon/db/db_dispatcher.go b/pkg/cloudcommon/db/db_dispatcher.go index cebf4a7f77..c35ba5e438 100644 --- a/pkg/cloudcommon/db/db_dispatcher.go +++ b/pkg/cloudcommon/db/db_dispatcher.go @@ -29,6 +29,7 @@ import ( "yunion.io/x/pkg/utils" "yunion.io/x/sqlchemy" + "sort" "yunion.io/x/onecloud/pkg/appsrv" "yunion.io/x/onecloud/pkg/appsrv/dispatcher" "yunion.io/x/onecloud/pkg/cloudcommon/consts" diff --git a/pkg/cloudcommon/policy/defaults.go b/pkg/cloudcommon/policy/defaults.go index d356221ec9..1e27daa4fb 100644 --- a/pkg/cloudcommon/policy/defaults.go +++ b/pkg/cloudcommon/policy/defaults.go @@ -238,5 +238,17 @@ var ( }, }, }, + { + Service: "identity", + Resource: "policies", + Action: PolicyActionList, + Result: rbacutils.UserAllow, + }, + { + Service: "identity", + Resource: "policies", + Action: PolicyActionGet, + Result: rbacutils.UserAllow, + }, } ) diff --git a/pkg/mcclient/modules/mod_policies.go b/pkg/mcclient/modules/mod_policies.go index a345694d42..d8c9ab6e4c 100644 --- a/pkg/mcclient/modules/mod_policies.go +++ b/pkg/mcclient/modules/mod_policies.go @@ -16,6 +16,8 @@ package modules import ( "yunion.io/x/jsonutils" + "yunion.io/x/log" + "yunion.io/x/pkg/utils" "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/util/rbacutils" @@ -29,7 +31,7 @@ var Policies SPolicyManager func policyReadFilter(session *mcclient.ClientSession, s jsonutils.JSONObject, query jsonutils.JSONObject) (jsonutils.JSONObject, error) { ss := s.(*jsonutils.JSONDict) - ret := ss.CopyIncludes("id", "type", "enabled", "domain_id", "domain") + ret := ss.CopyIncludes("id", "type", "enabled", "domain_id", "domain", "can_update", "can_delete") blobJson, _ := ss.Get("blob") if blobJson != nil { policy := rbacutils.SRbacPolicy{} @@ -77,7 +79,6 @@ func policyWriteFilter(session *mcclient.ClientSession, s jsonutils.JSONObject, return nil, err } } - // ret.Add(jsonutils.NewString(blobJson.String()), "blob") ret.Add(blobJson, "blob") } if s.Contains("type") {