今度新しく作成するIE8ベースのイントラのWebシステムにおいて、
簡易なシングルサインオンのような仕組みを実装したいと考えております。
<機器構成>
・仮想デスクトップサーバ
・Webサーバ
・APサーバ
・DBサーバ(Oracle 10g)
現在考えている大まかな流れは以下の通りです。
1.各ユーザはWindows Server 2008 R2の仮想デスクトップサーバにドメインアカウントでログオンする。
2.仮想デスクトップからIE8を使用してWebサーバ(htmlファイル)にアクセスする。
3.Webサーバ(htmlファイル)へのアクセスを契機に、仮想デスクトップにログオンしている
アカウント情報を取得(%username%などの環境変数から取得?)してWebサーバに返す。
4.Webサーバから、APサーバ経由でDBサーバのユーザマスターテーブルを参照して
仮想デスクトップから取得したアカウント情報を検索(マッチング)する。
5.マッチすれば正当なユーザ認めてWebシステムに自動ログオンして画面が開く。
マッチしなければ接続できず、ポップアップもしくはIE上でエラーメッセージを表示する。
私はWebシステムの開発をするのが初めてで、具体的にどのような技術を使用すれば
上記の仕組みを実現できるのかが全然イメージできておりません。
例えば…
・上記3でWebサーバから仮想デスクトップのアカウント情報を取得する際、
一般的にはどのような方法を使用するものでしょうか?
的外れかもしれませんが、私が想定しているようにWebサーバへのアクセスを契機にした場合、
html内でユーザが操作しなくても自動的に処理(バッチ実行など)を行う仕組みが必要になると
考えているのですが、htmlでそのような処理を行うことは可能でしょうか?
・仮想デスクトップにログオンしているアカウント情報を取得した後、その情報を
Web、AP、DBサーバに渡す場合はどのような方法を使用するべきでしょうか?
接続時のhttpの記載にアカウント情報を埋め込む…というのは偽装の恐れがあるので
できれば避けたいと考えております。
ユーザには見えないログオンID入力画面をに内部的に用意し、採取したアカウント情報を
自動入力するような作りにする必要があるのか、もしくは別の方法(ID入力画面を用意しない)で
実現することは可能でしょうか?
何か基本的な考え方だけでもアドバイスを頂ければと思い投稿致しました。
初めての投稿なのでいろいろと不備があるかと思いますが、何卒よろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
シングルサインオンの元ネタがADの場合は全部ADに任せるのが常道だ。
> ・私が想定しているようにWebサーバへのアクセスを契機にした場合、
> html内でユーザが操作しなくても自動的に処理(バッチ実行など)を行う仕組みが必要になると
> 考えているのですが、htmlでそのような処理を行うことは可能でしょうか?
htmlだと無理。動的Webページ(ClassicASPやASP.NET)を使えば可能。
WebサーバーのIISとIE8を統合Windows認証するように設定→IE8でアクセスすると勝手にドメインユーザー名がWebサーバーのIISに渡る→WebサーバーのIIS側のASPなどでドメインユーザー名を得てDBを見に行く。DBを見てOKならAPサーバーのWebシステムへリダイレクト(301でいい)。NGならエラーHTMLを返す。
APサーバーのWebシステムもIISとIE8による統合Windows認証を行ってドメインユーザー名で自動ログインする。
とこう書いてみると別にWebサーバー要らないな。
全てのAPサーバーのWebシステムが個別に統合Windows認証+ドメインユーザー名で自動ログインできるなら矢面に立つWebサーバーは要らないワンクッションかも。
WebサーバーのASPはDBを見に行った情報でアクセス者が利用できるWebシステム一覧を出すとかしたら約に立つかも知れん。
とにかく、APサーバーのWebシステム(のログイン周り)をいじらずに自動ログインさせるというのは無理(それが出来るならクロスサイトスクリプティング脆弱性の存在を疑った方がいい)だろう。
質問内容から本当に何もかもが初めてなんだろうなという印象を受けるので、
・統合Windows認証(IIS)
・AD+Kerberos
・AD+LDAP
の3つで検索し、それぞれの技術があなたがイメージするシステムに適用できるかを検討してもう少し疑問が具体的になったら改めて質問するといいんじゃないかな。
やりたい事がログイン画面を出さずに正当なユーザーかどうかを判断する方法っぽいので
統合Windows認証でいけるのならそれが一番簡単で楽だと思う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SFTP自動化
-
アンケートなどの1日1回の投...
-
シングルサインオンのような仕...
-
エクセルで 自動的に◯や数字を...
-
ファイルをディレクトリ分配の...
-
月の第一週とは
-
クライアントのIPとマシン名を...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
apacheでPerl CGIが作動せず、5...
-
週2回のペースって だいたい何...
-
エクセルで相対パスの書き方を...
-
JAVASCRIPT禁止でのボタン&リン...
-
C言語でわからないところがが...
-
エクセルで毎月第2週日の水曜日...
-
VBA。複数のChangeイベントをま...
-
毎週同じ曜日にラブホに行くと...
-
[Excel] ある日の曜日が当月の"...
-
時間によって変わるページについて
-
HTTPヘッダの大きさ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アンケートなどの1日1回の投...
-
SFTP自動化
-
シングルサインオンのような仕...
-
cookieのインターネットにおけ...
-
raspberrypiから外部サーバーへ...
-
社内イントラネット掲示板設置...
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
エクセルで毎月第2週日の水曜日...
-
[Excel] ある日の曜日が当月の"...
-
週2回のペースって だいたい何...
-
毎○曜日って、使いますか?
-
apacheでPerl CGIが作動せず、5...
-
エクセルで相対パスの書き方を...
-
VBA。複数のChangeイベントをま...
-
クライアントのIPとマシン名を...
-
VBAでExcelのヘッダーに文字列+...
-
[C#]ListView一覧表示時の幅設...
おすすめ情報