Windows認証によりプリザンターにシングルサインオンできるように設定する
# 概要
Active Directoryを利用した環境では、統合Windows認証によりプリザンターにシングルサインオンが可能です。
# 前提条件
## サーバの要件
・ Active Directoryにドメイン参加していること。
・ [プリザンターとActive Directoryを連携する](/manual/active-directory)の設定を行っていること。
## クライアントPCの要件
・ Active Directoryにドメイン参加していること。
・ Active DirectoryドメインユーザでクライアントPCにログインしていること。
・ 統合Windows認証をサポートするブラウザを使用していること。
・ コントロールパネルから「インターネットオプション」を開き、下記の設定が行われていること。
- 「詳細設定」タブ:「統合Windows認証を利用する」にチェックが付いている。
- 「セキュリティ」タブ:プリザンターサーバのセキュリティゾーンが「イントラネット」または「信頼済みサイト」に登録されている。
- 「セキュリティ」タブ:セキュリティゾーンのレベルにて「ユーザー認証 - ログオン」の項目が「現在のユーザー名とパスワードで自動的にログオンする」に設定されている。
# 統合Windows認証によるシングルサインオンを設定
1. [Windows認証のインストール](#windows認証のインストール)
2. [Windows認証の有効化](#windows認証の有効化)
3. [ユーザーの同期やリマインダなどのバッチ処理を行うための設定](#ユーザーの同期やリマインダなどのバッチ処理を行うための設定)
## Windows認証のインストール
1. 「サーバマネージャー」を起動してください。
2. 「管理(M)」メニューを開き「役割と機能の追加」をクリックしてください。
![image](https://pleasanter.org/binaries/6545a62c94ed4eebb1f32c0bd639b293)
3. 「開始する前に」画面が表示されるので「次へ(N)」ボタンをクリックしてください。
![image](https://pleasanter.org/binaries/ff7dada7a38443b9b36eeeea398e2487)
4. 「インストールの種類の選択」画面が表示されるので「次へ(N)」ボタンをクリックしてください。
![image](https://pleasanter.org/binaries/5a183f513934474ba68047f11a86ee44)
5. 「サーバの選択」画面が表示されるので対象サーバを選択し「次へ(N)」ボタンをクリックしてください。
![image](https://pleasanter.org/binaries/c276dbd25c204dffa7f889f6a3cfd483)
6. 「サーバの役割の選択」画面が表示されるので「Windows 認証」にチェックを入れてください。チェックが入ったことを確認し「次へ(N)」ボタンをクリックしてください。
![image](https://pleasanter.org/binaries/6c6a6a6537bb4caaa5c81d1815a9e4d3)
7. 「インストールオプションの確認」画面が表示されるので「インストール(I)」ボタンをクリックしてください。
![image](https://pleasanter.org/binaries/49d7892d0e4c4ffaad294e54596cf5af)
8. インストールの完了を待ちます。
![image](https://pleasanter.org/binaries/e8b64d2accf34fb8b39c99c62d9f8228)
9. インストールの完了後、「閉じる」ボタンをクリックしてください。本手順は完了です。
![image](https://pleasanter.org/binaries/64766a94b2424425844cbca9c64e28af)
## Windows認証の有効化
1. 「インターネット インフォメーション サービス(IIS)マネージャー」を起動します。
![image](https://pleasanter.org/binaries/e6e94237b2f44542af570c10f8881348)
2. 左ペインにて [サイト] -「Default Web Site」をクリックしてください。その後、中央ペインにて[認証](/ja/manual/advanced-operations-authentication)をクリックしてください。
![image](https://pleasanter.org/binaries/2bbd6182aca14f77bf73626814ae846b)
3. 「Windows 認証」を"有効"。それ以外を"無効"にします。
![image](https://pleasanter.org/binaries/400b064bab3f44b690faacd6f68c9b44)
## ユーザーの同期やリマインダなどのバッチ処理を行うための設定
統合Windows認証を有効とした環境でLDAPによるユーザーの同期やリマインダを実行するスクリプトを実行するには、下記の手順でメンテナンス用のアプリケーションを追加する必要があります。
### メンテナンス用アプリケーションプールの作成
匿名認証で実行を行うためにメンテナンス用アプリケーションプールを作成します。
1. 「インターネット インフォメーション サービス(IIS)マネージャー」を起動します。
2. 左ペインにて「アプリケーションプール」を選択し、右側の「操作」にて「アプリケーションプールの追加...」をクリックしてください。
3. 下記を入力し「OK」をクリックします。
|項目名|設定値|
|:---|:---|
|名前|任意の名前を設定(例:MainteAppPool)|
|.Net CLRバージョン|マネージドコードなし|
|マネージドパイプラインモード|統合|
|アプリケーションプールを直ちに開始する|オン|
![image](https://pleasanter.org/binaries/a5074864dea04daba2fadf33513ca7be)
4. [サイト] を右クリックし「Webサイトの追加」をクリックします。
5. 下記を入力し「OK」をクリックします。
|項目名|設定値|
|:---|:---|
|サイト名|任意の名前を設定(例:Mainte Site)|
|アプリケーションプール|前の手順で作成したものを選択(例:MainteAppPool)|
|コンテンツディレクトリ - 物理パス|C:\web\pleasanter\Implem.Pleasanter|
|バインド - 種類|http|
|バインド - IPアドレス|未使用のIPアドレスすべて|
|バインド - ポート|8080(任意のポート)|
|バインド - ホスト名|(ブランク)|
|Web サイトを直ちに開始する|オン|
![image](https://pleasanter.org/binaries/1688a644915b41838e6fa4fd2aec7ac8)
6. Mainte Siteをクリックし、認証をダブルクリックし下記のように設定してください。
|項目名|設定値|
|:---|:---|
|匿名認証|有効|
|上記以外|すべて無効|
![image](https://pleasanter.org/binaries/099023a452b742b686423dfc66426658)
7. 画面右側の「*.8080(http)参照」をクリックしてプリザンターのログイン画面が起動することを確認します。
### LDAPによるユーザー同期/リマインダ/API実行の設定
下記手順に従って、設定を行います。
- [プリザンターのリマインダー機能を有効化する](https://pleasanter.org/manual/reminder)
- [プリザンターにActive Directoryのユーザ情報を同期する](https://pleasanter.org/manual/active-directory-sync)
その際、上記2.の手順で指定した「ポート」を処理実行時のURLとするように設定してください。
(例) ポートを"8080"とした場合
・ ユーザー同期のURL: http://{ServerName}:8080/users/syncbyldap
・ リマインダのURL: http://{ServerName}:8080/reminderschedules/remind?NoLog=1
・ API実行のURL: http://{ServerName}:8080/api/items/{レコードID}/get
### AbsoluteUriの設定
上記URLでリマインダの実行やAPI経由の更新で通知などが行われる場合には、メールに記載されるURLが上記となってしまう問題を避けるため、Service.json の AbsoluteUri に通常のプリザンターのURLを設定してください。
[パラメータ設定:Service.json](https://pleasanter.org/manual/service-json)
|項目名|設定値|
|:---|:---|
|AbsoluteUri|http://{ServerName}|