Endeca Server接続は、ユーザー・ロールに基づいてデータを表示可能なユーザーを制御するように構成することもできます。
設定 | 説明 |
---|---|
securityEnabled | Endeca Server接続への問合せ用のセキュリティ・フィルタを有効化するかどうか。
trueに設定した場合、Endeca Server接続はsecurityFiltersに構成されているフィルタを使用します。 |
securityFilters | Endeca Server接続で使用されるセキュリティ・フィルタをすべて定義します。各フィルタには、セキュリティ・ロールをマップするために名前が付けられます。
セキュリティ・フィルタでサポートされているタイプは、DataSourceFiltersのみです。それぞれのフィルタには、次を指定します。
|
rolePermissionsMultiOr | 複数のセキュリティ・ロールを持つユーザーの場合に、論理ORを使用して各ロールからのフィルタを1つに結合されたセキュリティ・ロール・フィルタにするかどうか。
trueに設定した場合は、論理ORが使用され、ユーザーはそのセキュリティ・ロールのフィルタの少なくとも1つに一致するデータにアクセスできます。 falseに設定した場合は(デフォルト値)、論理ANDが使用され、ユーザーはそのすべてのセキュリティ・ロールに関連付けられたフィルタすべてに一致するデータにのみアクセスできます。 論理ORが使用される場合、これは各種セキュリティ・ロールのフィルタを結合するためにのみ使用されます。各ロールのフィルタが別のロールのフィルタに結合されるまでは、論理ANDがそれぞれのフィルタで適用されます。 データ・セットのベース・フィルタも論理ANDを使用して適用されます。 |
rolePermissions | ユーザー・ロールをセキュリティ・フィルタにマップします。
それぞれのマッピングについて、形式は次のようになります。
"<role name>" : [<filter list>]これらの意味は、次のとおりです。
|
次の例では、ロールFrench Wineを持つユーザーは、Bordeaux地域とBurgundy地域のデータのみを表示できます。一方、ロールAustrian Wineを持つユーザーは、Austria、BurgenlandおよびSteiermarkの地域のデータのみを表示できます。
rolePermissionsMultiOrがtrueに設定されているため、これらの両ロールを持つユーザーは、この5地域のレコードを表示できます。
{ "server":"server01.lab.acme.com", "port":"15000", "dataDomainName":"acmeDB", "name":"European Wines", "description":"Sales transactions for European wines", "securityEnabled":"true", "securityFilters": { "frenchFilter": { "class":"com.endeca.portal.data.functions.DataSourceFilter", "filterString":"Region='Bordeaux' OR Region='Burgundy'", "viewKey":"Wines" }, "austrianFilter": { "class":"com.endeca.portal.data.functions.DataSourceFilter", "filterString":"Region='Austria' OR Region='Burgenland' OR Region='Steiermark'", "viewKey":"Wines" } }, "rolePermissionsMultiOr":"true", "rolePermissions": { "French Wine": ["frenchFilter"], "Austrian Wine": ["austrianFilter"] } }