【背景】社員向けwebサービス構築を検討中です。(従業員各々の交通費の申請システムと仮定します)
構築するwebサービスにおける、ログイン機能(認証)について、id/pwでログインする画面を想定していますが、認証突合元の情報ソースとしては、既に社内の別サーバとして存在しているMicrosoftのActive Directoryサーバのディレクトリデータベース内にある社員情報としたいです。
【クライアント】-【社員向けwebサービス】-【既存ADサーバ】
前提
・クライアントのブラウザやOSは多種多様
・クライアントは既存ADにドメイン参加していない
・ログイン画面(認証画面)は社員向けwebサービス側で実装し、裏側で既存ADサーバに照会するイメージ
・id/pwの2項目をユーザに入力させることで認証したい(idがメールアドレス等になることは問題なし)
・社員向けwebサービスのサーバのOSはWindows or RHELを検討しており、開発言語はphpやnodejsなどを検討
・なるべく簡易に作りたい
・社員向けwebサービスは信頼できる環境であり、id/pwの情報が通過/保持しても問題ないものとする
【調べたこと】
ADの認証の仕組みについてggって調べたところ、大きく以下の3つがあるのかと思いました。また、今回の用件だと③のLDAPが最適かと考えております。
①.ADFS(saml)...idフェデレーションの仕組み。調べた中で通信シーケンスを見ると、クライアントとadfsサーバ自体の通信が必要のため、作り込みが多い?
②.ドメイン認証(kerberos)...ドメイン参加していることが前提。クライアントのosやブラウザの制約がある。
③.LDAP認証...詳細が調べきれておりませんが、下記URLを参照するに、上記のやりたいことができるのではと考えております。
https://tigerii.hatenablog.com/entry/20111112/1321103625
https://www.keicode.com/cgi/php-ldap-authentication.php
【質問】
Q1、認証の方式として、上記に3つ書きましたがAD内のディレクトリデータベースの情報を用いて認証を行う方式として、他に案があるでしょうか?
Q2、上記背景を含めると、どの方式で実現できそうでしょうか?LDAP方式というのが現実的かなと思っておりますが認識合っているでしょうか?
Q3、サンプルでwebアプリケーションに認証画面を実装したいので、おすすめのソースコードがあればご教授ください。(ADサーバ自体は既存にあるものを利用します)
Q4、ADの認証周りの技術について学びたいと思っておりおすすめの書籍やサイトがあればご教授ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。