0

プロファイルが親プロファイルを持つことができるプロファイル Profile_Permission 権限 DB 構造があり (階層構造)、プロファイル/権限の多対多の関係には、特定のプロファイルの権限が格納される「値」列があります。

要件には、プロファイルの親プロファイルに権限がある場合、子プロファイルがその権限を別の値 (通常は単に true/false) で明示的に上書きしない限り、その子プロファイルはその権限を継承すると述べられています。プロファイルとその親のアクセス許可の値に基づいて、プロファイルに付与する必要があるアクセス許可を決定できます。該当する場合は、アクセス許可の値が適切にオーバーライドされます。

これまでのところ、

select pro.id , pro.name, perm.id, perm.name, pp.permission_value 
from Profile pro 
   join PROFILE_PERMISSION pp on pro.id = pp.profile_id 
   join Permission perm on pp.permission_id = perm.id 
   where pp.profile_id in 
   (select p.Id from profile p start with p.id =6 connect by prior p.parent_id = p.id);

私の結果

ID  NAME        ID    NAME                                          PERMISSION_VALUE
------------------------------------------------------------------------------------
6   CS Tier 3   15    Allow issuance of Instore Credits             true
6   CS Tier 3   17    Allow issuance of Coupons                     true
6   CS Tier 3   14    Allow issuance of Cash Credits                true
6   CS Tier 3   2     Allow access to Customer Service Application  true
6   CS Tier 3   1     Allow access to Security Console Application  true
5   CS Tier 2   25    Cash Credit Limit                             25
5   CS Tier 2   17    Allow issuance of Coupons                     false
5   CS Tier 2   2     Allow access to Customer Service Application  false
5   CS Tier 2   15    Allow issuance of Instore Credits             false
4   CS Tier 1   2     Allow access to Customer Service Application  true
4   CS Tier 1   15    Allow issuance of Instore Credits             true
4   CS Tier 1   17    Allow issuance of Coupons                     true
4   CS Tier 1   19    Allow Invoice Line Cancel                     true
4   CS Tier 1   9     Allow Return Initiation                       true
4   CS Tier 1   16    Allow issuance of Club Credits                true

今、これを平らにする必要がありますが、これを行う方法、または可能かどうかさえわかりません。

どんな助けでも大歓迎です。

4

0 に答える 0