セキュリティ・プロバイダ
アプリケーションのセキュリティは、「セキュリティ・プロバイダ」というプラガブル・メカニズムを使用して有効化されます。
アプリケーション・モデルでは、app-flow.json
はuserConfig要素を指定できます。 userConfig要素は、使用するセキュリティ・プロバイダとその構成方法を選択します:
セキュリティ・プロバイダを指定するためのapp-flow.jsonのエントリの例
"userConfig": {
"type": "vb/DefaultSecurityProvider",
"configuration": {
"url": "url to some security api"
}
}
セキュリティ・プロバイダは、URLを持つ構成オブジェクトを取得します。 UrlプロパティはREST APIを指している必要があります。 このREST APIを使用して、現在のセキュリティ・プロバイダ構成を取得できる必要があります。 構成には、loginUrlやlogoutUrlなどのユーザー情報と構成情報が含まれています。
セキュリティ・プロバイダが次の機能を実行します。
関数 | 説明 |
---|---|
fetchCurrentUser(config) | urlから構成を取得し、userInfoプロパティとloginUrlプロパティとlogoutUrlプロパティを初期化します。 |
static getUserInfoType() | ユーザー情報の型を記述するオブジェクトを返します。 |
isAccessAllowed(type, path, accessInfo | 現在のユーザーが指定されたアクセス情報でリソースにアクセスできるかどうかを確認します。 ユーザーが認証されていない場合、このメソッドはfalseを返します。 それ以外の場合は、ユーザー・ロールがaccessInfoのロールの1つである場合、またはユーザー権限がaccessInfoの権限のいずれかである場合、メソッドはtrueを返します。 |
handleLoadError(error, returnPath) | この関数は、ページのロード中にエラーが発生したときにクライアントによって呼び出されます。 Visual Builderアーティファクトのロード・エラーを処理しようとし、trueがあればそれを返します。 |
handleLogin(returnPath) | ユーザーのログイン・プロセスを処理します。 セキュリティ・プロバイダ構成によって指定されるログインURLを使用して、ログイン・ページにリダイレクトします。 定義されている場合、問合せパラメータ名を使用してログインURLにreturnPathが追加されます。 これは、SecurityProviderクラスの'returnPathQueryParam'プロパティで定義されています。 |
handleLogout(logoutUrl) | ユーザー・ログアウト・プロセスを処理します。 デフォルトの実装では、logoutUrl引数で定義されたURLにナビゲートします。 logoutUrl引数が定義されていない場合は、SecurityProvider構成のlogoutUrlが使用されます。 |