統合認証
OutSystemsでは、統合Windows認証(NTLMまたはKerberos)をネイティブでサポートしており、エンドユーザーの集中管理やアプリケーションでの自動認証が可能です。統合認証を使用すると、エンドユーザーはドメインの資格情報を使用してアプリケーションにアクセス可能です。
認証が必要なWeb画面にエンドユーザーがアクセスしようとすると、アプリケーションサーバーはHTTP 401ステータスを返し、エンドユーザーが認証を必要とするリソースにアクセスしようとしたことを通知します。ブラウザは、エンドユーザーがWindows OSで認証に使用する資格情報を送信します。それができない場合は、エンドユーザーに資格情報を要求します。これ以降、ブラウザは資格情報が要求されると自動的に送信します。エンドユーザーはドメイン資格情報を再入力する必要がありません。
統合認証をサポートする要素
統合認証は、すべてのアプリケーションで有効化することも、アプリケーション内の特定の要素で有効化することも可能です。特定の要素の統合認証を有効化するには、Integrated Authentication
プロパティを「Yes
」に設定します。
統合認証をサポートする要素は以下のとおりです。
- Web画面
- エンドユーザーがアクセスするには、統合認証を使用して認証されている必要があります。
- Webフロー
Integrated Authentication
プロパティが設定されていないすべての画面は、Webフローの値を継承します。- 公開および利用されたSOAP Web サービス
- 公開されたWebサービスの場合、リクエストを処理する際にOutSystemsアプリケーションがWebサービスのクライアントに対して常に資格情報を要求します。SOAP Webサービスを呼び出すクライアントによっては、資格情報の送信とサービスの利用ができない場合があります。
利用されたWebサービスの場合、OutSystemsからWebサービスサーバーに資格情報が送信されます。ただし、Web画面内でWebサービスを呼び出す場合は、NTLMを使用するようにシステムが構成されていても委任はサポートされません。
ヒント: 公開されたREST APIで統合Windows認証をサポートする必要がある場合は、独自のカスタムロジックを実装することにより実現できます。
統合認証のビルトインアクション
OutSystemsには、統合Windows認証を使用するためのビルトインアクションや関数が用意されています。
- IntegratedSecurityGetDetails: 現在のWindowsユーザーの情報を取得します。
- IntegratedSecurityCheckRole: 現在のWindowsユーザーが、特定のWindowsのロールにアクセスできるかどうかを確認します。
注意事項
統合認証を使用するには、クライアントとフロントエンドサーバーの両方が同じドメインに属しており、エンドユーザーとその資格情報を保存するActive Directoryが用意されている必要があります。