...
Expand |
---|
title | LOGINUSER(シングルサインオン) |
---|
|
このサービスは、Yellowfinに接続し、指定されたユーザーのログオントークンを取得します。このトークンがYellowfinログオンURLに渡されると、認証されるユーザーのログイン画面が無効化され、そのユーザーのセッションがただちに開始されます。 Code Block |
---|
AdministrationServiceResponse rs = null;
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
rsr.setLoginId("admin@yellowfin.com.au");
rsr.setPassword("test");
rsr.setOrgId(new Integer(1));
rsr.setFunction("LOGINUSER");
AdministrationPerson ap = new AdministrationPerson();
ap.setUserId("admin@yellowfin.com.au");
ap.setPassword("test");
rsr.setPerson(ap);
rs = rssbs.remoteAdministrationCall(rsr);
if ("SUCCESS".equals(rs.getStatusCode()) ) {
out.write("Success");
out.write("URL: http://<yellowfin-server>/logon.i4?LoginWebserviceId=" + rs.getLoginSessionId());
} else {
out.write("Failure");
}
|
LOGINUSER関数は、指定されたユーザーをYellowfinにシングルサインオンさせます。AdministrationPersonオブジェクトの内容は、ログインしているユーザーを定義するために使用されます。 リクエスト要素 | データ型 | 説明 |
---|
LoginId | String | Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。 | Password | String | Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。 | OrgId | Integer | Yellowfin内のデフォルト組織ID。常に1に設定します。 | Function = “LOGINUSER” | | Webサービス関数。 | Person | AdministrationPerson | ユーザー作成プロセスに関する新規ユーザーの詳細すべてを保持するAdministrationPersonオブジェクト。 | OrgRef | String | クライアント組織の内部参照ID(オプション)。ユーザーを指定されたクライアント組織にログインさせます。設定しない場合は、ユーザーのログオン時に「クライアント組織の選択」ページが表示されます。 |
AdministrationPersonオブジェクトで設定が必要なパラメーターは、以下の通りです。 AdministrationPerson要素 | データ型 | 説明 |
---|
UserId | String | ログインするユーザーのユーザーID。これは、ログインIDの方法に応じてユーザーIDまたは電子メールアドレスにすることができます。 | Password | String | 新規ユーザーのパスワード。 |
返される応答には、以下のパラメーターが含まれます。 応答要素 | データ型 | 説明 |
---|
StatusCode | String | Webサービス呼び出しのステータス。可能な値は以下の通りです。 | LoginSessionId | String | 一意のログイントークン。このトークンはログインURLに付加され、ユーザーをYellowfinに直接移動させます。 |
ログイントークンを使用したYellowfinへのリダイレクトWebサービス呼び出しから受信したトークン(AdministrationResponse.LoginSessionIdの内容)を使用して、ユーザーを以下のURLに転送できます: http://<YELLOWFIN-SERVER>/logon.i4?LoginWebserviceId=<TOKEN>
このURLを使用することにより、Yellowfinの認証画面がバイパスされ、ユーザーはYellowfinに直接移動します。 トークンには有効期限があります。5分以内に使用する必要があり、いったん使用すると再利用はできません。その後、サードパーティのアプリケーションからYellowfinに呼び出しを行うときは、LOGINUSER Webサービスを再度呼び出す必要があります。 JavaScript APIでのトークンの使用埋め込みJavaScript APIウィジェットでSSO(シングルサインオン)トークンを使用することもできます。トークンは、次のようにスクリプトレットURLに追加されます: <script type="text/javascript" src="http://localhost/JsAPI?dashUUID=e9a6ab0a-bcb0-4fe6-9663-4dd33e58f08e&token=<TOKEN>"></script>
セッションオプションの指定このシングルサインオンリクエストを介して作成されるセッションに対してのみ機能を切り替える変数/スイッチを渡すことができます。このようなオプションを有効にするには、AdministrationRequestでParameters属性を使用して渡すか、またはリダイレクトURLに付加します。 パラメーターは、以下のようにキー値ペアのリストとしてAdministrationRequest.Parameters属性に追加されます: YFTOOLBAR=TRUE
ENTRY=DASHBOARD
ログインURLで渡されるオプションは次のようになります: http://<yellowfin-server>/logon.i4?LoginWebserviceId=<token>&yftoolbar=true&entry=DASHBOARD
使用可能なオプションの一覧を以下に示します: パラメーターオプションキー | URLオプションキー | 説明 |
---|
YFTOOLBAR | yftoolbar | TRUE /FALSE 。このセッションのYellowfinツールバーを隠します。
| ENTRY | entry | ログインプロセスを完了するためのユーザーの唯一の起点を指定します。ほかのパラメーターとともに使用して、ユーザーに表示される内容を指定します。可能な値: DASHBOARD REPORTLIST BROWSE BROWSETAB CREATEREPORT EDITREPORT VIEWREPORT ADMINISTRATION EDITDASHBOARD VIEWDASHBOARD VIEWSTORYBOARD TIMELINE
| REPORTID | reportid | ENTRY = EDITREPORT またはVIEWREPORT とともに使用します。これは、リダイレクト先レポートの内部IDです。
| REPORTUUID | reportuuid | ENTRY = EDITREPORT またはVIEWREPORT とともに使用します。これは、リダイレクト先レポートのUUIDです。
| STORYBOARDUUID | storyboarduuid | ENTRY = VIEWSTORYBOARD とともに使用します。これは、リダイレクト先ストーリーボードのUUIDです。
| MOBILEDEVICE | mobiledevice | TRUE /FALSE 。ユーザーをYellowfinインターフェースのモバイルバージョンに移動させます。
| REPORTNAME | reportname | ENTRY = EDITREPORT またはVIEWREPORT とともに使用します。これは、リダイレクト先レポートの名前です。
| DISABLESOURCEFILTERS | | TRUE /FALSE 。このセッションにおけるこのユーザーのソースフィルターまたはクライアント参照フィルターを無効化します。こうすると、ユーザーはすべてのデータを表示できます。クライアントソースに基づくコンテンツには効果がありません。
| DISABLEHEADER | disableheader | TRUE /FALSE 。このセッションのYellowfinヘッダーを隠します。
| HIDEHEADER | hideheader | DISABLEHEADER と同じです。
| DISABLEFOOTER | disablefooter | TRUE /FALSE 。このセッションのYellowfinフッターを隠します。
| HIDEFOOTER | hidefooter | DISABLEFOOTER と同じです。
| DISABLESIDENAV | disablesidenav | TRUE /FALSE 。このセッションのYellowfin側のナビゲーションを隠します。
| HIDESIDENAV | hidesidenav | DISABLESIDENAV と同じです。
| DISABLELOGOFF | disablelogoff | TRUE /FALSE 。このセッションのYellowfinログオフリンクを隠します。
| HIDELOGOFF | hidelogoff | DISABLELOGOFF と同じです。
| REASONCODE | reasoncode | このセッションで生成されるすべてのイベントに記録されるカスタム文字列(80文字のASCII文字)。イベントは、Yellowfinデータベースのイベントテーブルに記録されます。 このオプションは、JavaScript APIで使用することもできます。 | REASONDESCRIPTION | reasondescription | このセッションで生成されるすべてのイベントに記録されるカスタム文字列(2048文字のASCII文字)。イベントは、Yellowfinデータベースのイベントテーブルに記録されます。 このオプションは、JavaScript APIで使用することもできます。 | DASHBOARDID | dashboardid | ENTRY = EDITDASHBOARD またはVIEWDASHBOARD とともに使用します。これは、リダイレクト先ダッシュボードタブの内部IDです。
| DASHBOARDUUID | dashboarduuid | ENTRY = EDITDASHBOARD またはVIEWDASHBOARD とともに使用します。これは、リダイレクト先ダッシュボードタブの内部IDです。
| FILTER<ID> | filter<ID> | ENTRY = VIEWREPORT とともに使用します。指定されたレポートのフィルター値を上書きします。FILTERにはフィルターの内部IDを付加し、その後にフィルター値の文字列表現が続きます。例:
FILTER2134=MALE 1つのレポートで複数のフィルターを渡すことができます。
| SOURCEFILTER_<FILTERCODE> | | このセッションのこのユーザーのソースフィルター値を上書きします。
SOURCEFILTER_ には「ソースフィルター」設定ページの「フィルタータイプコード」を付加し、その後にアクセスできるようにする値を続けます。例:
SOURCEFILTER_COUNTRY=AU 1つのセッションで複数のソースフィルター値を渡すことができます。 このオプションは、JavaScript APIで使用することもできます。 | CONTENT_<INCLUDE/EXCLUDE> | | このセッションでユーザーが持つコンテンツアクセス権を上書きします。CONTENT_ にはINCLUDE またはEXCLUDE を付加します。このキーの値は、コンテンツカテゴリーコードまたはコンテンツカテゴリーUUIDです。 コンテンツの組み入れ(INCLUDE )を選択した場合、これらはユーザーがアクセスできるようにするコンテンツカテゴリーのみになります。 コンテンツの除外(EXCLUDE )を選択した場合、これらの除外コンテンツカテゴリーは、ユーザーが通常アクセスできるコンテンツから削除されます。 コンテンツの組み入れおよび除外は、カテゴリーレベルに基づきます。指定したカテゴリーのすべてのサブカテゴリーが組み入れまたは除外されます。 カテゴリーのコードおよびUUIDを使用した組み入れ/除外の例:
CONTENT_INCLUDE=TUTORIAL
CONTENT_INCLUDE=c83357db-8aef-4ec7-ab72-fce34de9ee77
CONTENT_EXCLUDE=TUTORIAL
CONTENT_EXCLUDE=c83357db-8aef-4ec7-ab72-fce34de9ee77 同じセッションでINCLUDE とEXCLUDE の両方を使用することは論理的ではありません。 このオプションは、JavaScript APIで使用することもできます。 |
|
Expand |
---|
title | LOGINUSERNOPASSWORD(シングルサインオン) |
---|
|
このサービスは、LOGINUSER と完全に互換がありますが、ログインするユーザーのパスワードが必要ありません。 オプションはLOGINUSER と同じですが、以下の点が異なります: - AdministrationRequest.Functionは
LOGINUSERNOPASSWORD に設定されます - AdministrationPerson.Passwordは空にできます
この機能を有効にするには、Yellowfinデータベースの設定テーブルに追加のパラメーターを追加する必要があります: IpOrg | ConfigTypeCode | ConfigCode | ConfigData |
---|
1 | SYSTEM | SIMPLE_AUTHENTICATION | TRUE |
データベースの変更を有効にするために、Yellowfinの再起動が必要になることがあります。 この設定オプションがYellowfinに追加されていない場合は、Webサービスエラー26: UNSECURE_LOGIN_NOT_ENABLED が発生します。 |
ユーザーの複製および管理
ユーザーの複製では、OEMアプリケーション内の各ユーザーとYellowfin内の名前付きユーザーが同期されます。ユーザーの複製とは、OEMアプリケーション内の各ユーザーをYellowfinのユーザーに同期させることを指します。
これにより、Yellowfinでは、ログインしているユーザーを識別し、必要となる制限がある場合はその制限を適用することができます。通常、同期はOEMアプリケーションからYellowfinへのWebサービス呼び出しを使用して行われます。これは、OEMアプリケーションのユーザーが概して静的である場合には、手動で管理することもできます。
...
Webサービス呼び出しを使用して、グループとロールを作成および変更することができます。応答で返されるオブジェクトは、リクエストで実行される呼び出しのタイプに依存します。
注意:クライアント組織機能を「システム設定」ページでオンにしている場合、特定のタイプの呼び出しについて適用可能な場合はクライアント組織を指定することもできます。
...
Expand |
---|
|
以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinに指定されたグループを作成します。 Code Block |
---|
AdministrationServiceRequest rsr = new AdminstrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();
group.setGroupName("Group Name");
group.setGroupDescription("Group Description");
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to create the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("CREATEGROUP");
rsr.setGroup(group);
rs = AdministrationService.remoteAdministrationCall(rsr);
|
このコードはrs.getStatusCode() でSUCCESS を返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。 注意:AdministrationPersonオブジェクトのAdministrationGroupMember配列に入力することによって、新規作成されたグループに既存のYellowfinユーザーを同時に配置することもできます。各AdministrationPersonオブジェクトに必要なのはLoginId 変数セットのみであり、AdministrationGroupMember配列はgroup.setGroupMembers() に保存されます。 この関数はYellowfinグループを作成します。この関数では、新規グループに既存のYellowfinユーザーを保存できる点にも注意してください。 リクエスト要素 | データ型 | 説明 |
---|
LoginId | String | Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。 | Password | String | Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。 | OrgId | Integer | Yellowfin内のデフォルト組織ID。常に1に設定します。 | Function = “CREATEGROUP” | String | Webサービス関数。 | OrgRef | String | この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。 | Group | AdministrationGroup | 取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。 |
AdministrationGroupオブジェクトで設定が必要なパラメーターは、以下の通りです。 AdministrationGroup要素 | データ型 | 説明 |
---|
GroupName | String | 指定したYellowfinグループの名前 | GroupDescription | String | 指定したYellowfinグループの説明 | GroupMembers | Array(AdministrationPerson) | AdministrationPersonオブジェクトの配列。これはオプションのパラメーターで、既存のYellowfinユーザーをこのグループに保存するよう設定することができます。このシナリオの場合、AdministrationPersonオブジェクトに必要なのは、オブジェクトごとにそのUserIdパラメーターを設定することだけです。 |
返される応答には、以下のパラメーターが含まれます。 応答要素 | データ型 | 説明 |
---|
StatusCode | String | Webサービス呼び出しのステータス。可能な値は以下の通りです。 |
|
...
Expand |
---|
|
以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinの指定されたグループから指定されたユーザーを除外します。 注意:このユーザーはグループから削除されるのではなく、グループ定義から除外されるだけです。これが役立つのは、たとえば以下のような場合です。 - John DoeはグループAのメンバーである
- グループAはグループBのメンバーである
- John DoeはグループBのメンバーであってはならないため、グループBから除外する必要がある
Code Block |
---|
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();
AdministrationPerson person = new AdministrationPerson();
group.setGroupName("Group Name");
person.setUserId("test@yellowfin.com.au");
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to get the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("EXCLUDEUSERINGROUP");
rsr.setGroup(group);
rsr.setPerson(person);
rs = AdministrationService.remoteAdministrationCall(rsr);
|
このコードはrs.getStatusCode() でSUCCESS を返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。 この関数は、指定されたグループから指定されたYellowfinユーザーを除外します。このユーザーはグループから削除されるのではなく、グループ定義から除外されるだけである点に注意してください。これが役立つのは、たとえば以下のような場合です。 - John DoeはグループAのメンバーである
- グループAはグループBのメンバーである
- John DoeはグループBのメンバーであってはならないため、グループBから除外する必要がある
リクエスト要素 | データ型 | 説明 |
---|
LoginId | String | Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。 | Password | String | Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。 | OrgId | Integer | Yellowfin内のデフォルト組織ID。常に1に設定します。 | Function = “EXCLUDEUSERINGROUP” | String | Webサービス関数。 | OrgRef | String | この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。 | Group | AdministrationGroup | 取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。 | Person | AdministrationPerson | 取得プロセスに関するYellowfinユーザーのユーザーIDを保持するAdministrationPersonオブジェクト。 |
AdministrationGroupおよびAdministrationPersonオブジェクトで設定が必要なパラメーターは、以下の通りです。 AdministrationGroup要素 | データ型 | 説明 |
---|
GroupName | String | 指定したYellowfinグループの名前 |
AdministrationPerson要素 | データ型 | 説明 |
---|
UserId | String | YellowfinユーザーのユーザーID。これは、ログインIDの方法に応じてユーザーIDまたは電子メールアドレスにすることができます。 |
返される応答には、以下のパラメーターが含まれます。 応答要素 | データ型 | 説明 |
---|
StatusCode | String | Webサービス呼び出しのステータス。可能な値は以下の通りです。 |
|
...
Expand |
---|
|
以下のコードは、Yellowfin Webサービスを呼び出し、Yellowfinの指定されたグループを変更します。 Code Block |
---|
AdministrationServiceRequest rsr = new AdministrationServiceRequest();
AdministrationServiceResponse rs = null;
AdministrationGroup group = new AdministrationGroup();
group.setGroupName("Group Name");
rsr.setLoginId(this.username);
rsr.setPassword(this.password);
rsr.setOrgId(new Integer(1));
// uncomment line below and set Client Reference ID if you wish to get the group in a client organisation
// rsr.setOrgRef("CLIENTREFERENCEIDHERE");
rsr.setFunction("MODIFYGROUP");
rsr.setGroup(group);
rs = AdministrationService.remoteAdministrationCall(rsr);
|
このコードはrs.getStatusCode() でSUCCESS を返します。それ以外の場合は、プロセスが失敗した理由を説明するエラーを返します。 注意:AdministrationPersonオブジェクトのAdministrationGroupMember配列を投入することによって、変更されたグループに既存のYellowfinユーザーを同時に配置することもできます。各AdministrationPersonオブジェクトに必要なのはLoginId 変数セットのみであり、AdministrationGroupMember配列はgroup.setGroupMembers() に保存されます。 この関数はYellowfinの指定されたグループの詳細を変更します。この関数では、新規グループに既存のYellowfinユーザーを保存できる点にも注意してください。 リクエスト要素 | データ型 | 説明 |
---|
LoginId | String | Yellowfin Webサービスへの接続に使用されるアカウントのログインID(admin@yellowfin.com.auなど)。 | Password | String | Yellowfin Webサービスへの接続に使用されるアカウントのパスワード。 | OrgId | Integer | Yellowfin内のデフォルト組織ID。常に1に設定します。 | Function = “MODIFYGROUP” | String | Webサービス関数。 | OrgRef | String | この関数を特定のクライアント組織に適用する場合には、クライアント参照ID。このパラメーターはオプションです。 | Group | AdministrationGroup | 取得プロセスに関するYellowfinユーザーグループの名前を保持するAdministrationGroupオブジェクト。 |
AdministrationGroupオブジェクトで設定が必要なパラメーターは、以下の通りです。 AdministrationGroup要素 | データ型 | 説明 |
---|
GroupName | String | 指定したYellowfinグループの名前 | GroupDescription | String | 指定したYellowfinグループの説明 | GroupMembers | Array(AdministrationPerson) | AdministrationPersonオブジェクトの配列。これはオプションのパラメーターで、既存のYellowfinユーザーをこのグループに保存するよう設定することができます。このシナリオの場合、AdministrationPersonオブジェクトに必要なのは、オブジェクトごとにそのLoginIdパラメーターを設定することだけです。 |
返される応答には、以下のパラメーターが含まれます。 応答要素 | データ型 | 説明 |
---|
StatusCode | String | Webサービス呼び出しのステータス。可能な値は以下の通りです。 |
|
...