ID プロバイダーによって提供される属性を使用してユーザーの表示名や Anaplan XL Web ロールのメンバーシップなどを決定する代わりに、使用するストアド プロシージャを指定することもできます。
属性は、状況に応じて、サービス プロバイダーの属性を置き換えるか、サービス プロバイダーの属性と結合します。
ストアド プロシージャは Anaplan XL Web SQL データベース内で作成する必要があります。XLCUBED_USER
データベース ロールにストアド プロシージャへのアクセス権が必要です。サンプル プロシージャは以下のとおりです。
CREATE proc [dbo].[ap_ValidateUser] @identity nvarchar(500) as select 'Joe Blogs' as cDisplayName, 3 as nRoleID, 'cubeuser' as cEffectiveUser
@identity は、プロバイダーから NameID として提供される値になります。ストアド プロシージャでは、必要な「nRoleID」ごとに 1 行ずつ、複数の行を返すことができます。他の属性には最初の行のみが使用されます。
すべてのフィールドが省略可能であり、以下を含めることができます。
フィールド名 | 説明 | 例 |
cDisplayName | ユーザーに表示するテキスト | Joe Blogs |
cEmail | ユーザーのメール アドレス | joe.bloggs@xlcubed.com |
cEffectiveUser | EffectiveUser 属性と相関 | cubeuser |
cASRole | EffectiveRole 属性と相関 | Accounts、Management |
nRoleID | [Role].[XL3Roles] テーブルに基づくユーザーのロール ID (ロール ID ごとに 1 行が返されます) | 3 |
Anaplan XL Web データベース:
AllUsers: すべてのユーザーのリストが含まれています。
- nUserID: ユーザーを内部的に識別するための ID です。
- cEmail: ユーザーのメール アドレスです。
- cFirstName: ユーザーの名です。
- cLastName: ユーザーの姓です。
UserToGroup: ユーザーが属するすべてのグループのリストが含まれています。Anaplan XL Web ロールはグループ名と一致します。
- nUserID: ユーザーを内部的に識別するための ID です。
- cGroupName: ユーザーが所属するグループです。
次に、「cGroupName」に一致するロールを作成し、FluenceXLWeb 構成アプリケーションを使用して必要な権限を割り当てます。
CREATE proc [dbo].[ap_ValidateUser] @identity nvarchar(500) as select U.cFirstName + ' ' + U.cLastName as cDisplayName, R.nRoleID as nRoleID from AllUsers U Join UserToGroup G on G.nUserID = U.nUserID Join [Role].[XL3Roles] R on R.cDescription = G.cGroupName where U.cEmail = @identity