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
cEffectiveUserEffectiveUser 属性と相関cubeuser
cASRoleEffectiveRole 属性と相関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