以下の手順では、カスタムセキュリティプロバイダを作成する方法を説明します。Extensibilityアセンブリからインターフェースを実装し、生成されたアセンブリを管理者ダッシュボードに構成すると、セキュリティプロバイダ一覧から選択できるようになります。
Extensibilityインターフェースをクラスライブラリに実装するには
- Visual Studioで、.NET Framework 4.5のクラスライブラリプロジェクト(C#)を新規作成します(.NET Framework 3.5以上であれば以下の操作は可能)。
- ActiveReports 11.0J Serverインストールフォルダ内のAgentフォルダからActiveReports.Server.Extensibility.dllファイルをコピーして、プロジェクトのbinフォルダに貼り付けます。
- Visual Studioの[ソリューションエクスプローラー]で、[参照]を右クリックし、[参照の追加]を選択します。
- 表示される[参照マネージャー]で、[参照]をクリックします。開かれる[参照するファイルの選択]ダイアログから先ほどのbinフォルダへと移動してActiveReports.Server.Extensibility.dllファイルを選択し、[追加]をクリックします。[OK]をクリックして[参照マネージャー]を閉じます。
- ISecurityProviderインターフェースを実装するクラスと、ISecurityProviderFactoryインターフェースを実装するクラスをプロジェクトに追加します。
|
メモ: 追加方法の詳細については、ActiveTunes.SecurityProviderサンプル(C:\ActiveReports 11.0J Server\SDK\Samples)を参照してください。 |
ISecurityProviderインターフェースは、次の重要なメソッドを含んでいます。
- CreateToken: セキュリティトークンを作成します。サーバーはこれを保持し、usernameとpasswordだけでなく、プロバイダが資格情報として使用するカスタムパラメータを用いて、ログイン中のユーザーを識別します。
- FilterRoles: 特定のセキュリティトークンに関連するロールのコレクションを取得します。
- GetUserContext: 特定のセキュリティトークンのUserContextオブジェクトを返します。
-
GetUserDescription: 2つの有用なオブジェクトを返します。
- UserDescription.Email: エラーログ送信ダイアログのemailフィールドを自動で記述します。
- UserDescription.FriendlyUserName: レポートの作成者、および更新者フィールドを自動で記述します。
- カスタムデータに必要なクラスをすべて設定したら、[ビルド]メニューから[ClassLibrary1のビルド]を選択します。DLLファイルはプロジェクトのbinフォルダに作成されます。
プロバイダを構成するには
- Windowsエクスプローラーの、使用しているサイトと同じレベルに「SecurityProviders」フォルダを新規作成します。C:\ActiveReports 11.0J Serverにある場合は、C:\ActiveReports 11.0J Server\SecurityProvidersのように作成します。
- カスタムセキュリティプロバイダDLLファイルを新規作成したフォルダにコピーします。
- 管理者ダッシュボードのサイドバーメニューで[構成]セクションを開き、[セキュリティプロバイダ]をクリックします。
- 表示される[セキュリティプロバイダ]ページの[カスタムセキュリティプロバイダ]ドロップダウンから、新たに作成したプロバイダを選択します。
- プロバイダにしたがって、プロパティの値を選択します。
- [変更の適用]ボタンをクリックします。
関連トピック