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)」メニューを開き「役割と機能の追加」をクリックしてください。

3. 「開始する前に」画面が表示されるので「次へ(N)」ボタンをクリックしてください。

4. 「インストールの種類の選択」画面が表示されるので「次へ(N)」ボタンをクリックしてください。

5. 「サーバの選択」画面が表示されるので対象サーバを選択し「次へ(N)」ボタンをクリックしてください。

6. 「サーバの役割の選択」画面が表示されるので「Windows 認証」にチェックを入れてください。チェックが入ったことを確認し「次へ(N)」ボタンをクリックしてください。

7. 「インストールオプションの確認」画面が表示されるので「インストール(I)」ボタンをクリックしてください。

8. インストールの完了を待ちます。

9. インストールの完了後、「閉じる」ボタンをクリックしてください。本手順は完了です。

## Windows認証の有効化
1. 「インターネット インフォメーション サービス(IIS)マネージャー」を起動します。

2. 左ペインにて [サイト] -「Default Web Site」をクリックしてください。その後、中央ペインにて[認証](/ja/manual/advanced-operations-authentication)をクリックしてください。

3. 「Windows 認証」を"有効"。それ以外を"無効"にします。

## ユーザーの同期やリマインダなどのバッチ処理を行うための設定
統合Windows認証を有効とした環境でLDAPによるユーザーの同期やリマインダを実行するスクリプトを実行するには、下記の手順でメンテナンス用のアプリケーションを追加する必要があります。
### メンテナンス用アプリケーションプールの作成
匿名認証で実行を行うためにメンテナンス用アプリケーションプールを作成します。
1. 「インターネット インフォメーション サービス(IIS)マネージャー」を起動します。
2. 左ペインにて「アプリケーションプール」を選択し、右側の「操作」にて「アプリケーションプールの追加...」をクリックしてください。
3. 下記を入力し「OK」をクリックします。
|項目名|設定値|
|:---|:---|
|名前|任意の名前を設定(例:MainteAppPool)|
|.Net CLRバージョン|マネージドコードなし|
|マネージドパイプラインモード|統合|
|アプリケーションプールを直ちに開始する|オン|

4. [サイト] を右クリックし「Webサイトの追加」をクリックします。
5. 下記を入力し「OK」をクリックします。
|項目名|設定値|
|:---|:---|
|サイト名|任意の名前を設定(例:Mainte Site)|
|アプリケーションプール|前の手順で作成したものを選択(例:MainteAppPool)|
|コンテンツディレクトリ - 物理パス|C:\web\pleasanter\Implem.Pleasanter|
|バインド - 種類|http|
|バインド - IPアドレス|未使用のIPアドレスすべて|
|バインド - ポート|8080(任意のポート)|
|バインド - ホスト名|(ブランク)|
|Web サイトを直ちに開始する|オン|

6. Mainte Siteをクリックし、認証をダブルクリックし下記のように設定してください。
|項目名|設定値|
|:---|:---|
|匿名認証|有効|
|上記以外|すべて無効|

7. 画面右側の「*.8080(http)参照」をクリックしてプリザンターのログイン画面が起動することを確認します。
### LDAPによるユーザー同期/リマインダ/API実行の設定
下記手順に従って、設定を行います。
- [プリザンターのリマインダー機能を有効化する(外部スクリプト)](/ja/manual/reminder-script)
- [プリザンターにActive Directoryのユーザ情報を同期する(外部スクリプト)](/ja/manual/active-directory-sync-script)
その際、上記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}|