今度新しく作成する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入力画面を用意しない)で
 実現することは可能でしょうか?


何か基本的な考え方だけでもアドバイスを頂ければと思い投稿致しました。
初めての投稿なのでいろいろと不備があるかと思いますが、何卒よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (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認証でいけるのならそれが一番簡単で楽だと思う。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWebデザイナー向けLinuxユーザ権限について

外部のWebデザイナー(Wordpressのサイトを構築していただく方)向けのLinuxユーザに、自社のWordpressの操作(/var/www/wordpress配下でファイル書き込み、ファイル追加、削除)が行える権限を与えたいと考えています。

この場合、操作用のlinuxユーザはnginxグループに所属させて、/var/www/wordpress配下のパーミッションに、nginxグループに書き込み権限を加えれば良いと思うのですが、一般的?には、こういったWebデザイナー向けにはどのような権限を持たせたユーザを渡せば良いのでしょうか。


ディレクトリの中の操作以外には、nginxのサービス再起動などができるようにvisudoで以下権限を与えています。

user001 ALL=(ALL) /usr/sbin/nginx,/usr/bin/mysql,/usr/sbin/php-fpm

■ディレクトリのパーミッション
# ls -la /var/www/wordpress
drwxr-xr-x 5 nginx nginx 4096 Jan 22 14:44 .
drwxr-xr-x 7 root root 4096 Jan 22 14:39 ..
-rw-r--r-- 1 nginx nginx 418 Sep 25 2013 index.php
-rw-r--r-- 1 nginx nginx 19930 Apr 10 2014 license.txt
-rw-r--r-- 1 nginx nginx 10164 Dec 19 18:50 readme.html
-rw-r--r-- 1 nginx nginx 3204 Dec 19 18:50 readme-ja.html
-rw-r--r-- 1 nginx nginx 4951 Aug 21 02:30 wp-activate.php
drwxr-xr-x 9 nginx nginx 4096 Dec 19 18:49 wp-admin
-rw-r--r-- 1 nginx nginx 271 Jan 9 2012 wp-blog-header.php
-rw-r--r-- 1 nginx nginx 5008 Nov 27 05:17 wp-comments-post.php
-rw-rw-rw- 1 nginx nginx 3997 Jan 22 14:44 wp-config.php
-rw-r--r-- 1 nginx nginx 3727 Dec 19 18:50 wp-config-sample.php
drwxr-xr-x 6 nginx nginx 4096 Jan 22 14:45 wp-content
-rw-r--r-- 1 nginx nginx 2956 May 13 2014 wp-cron.php
drwxr-xr-x 12 nginx nginx 4096 Dec 19 18:49 wp-includes
-rw-r--r-- 1 nginx nginx 2380 Oct 25 2013 wp-links-opml.php
-rw-r--r-- 1 nginx nginx 2714 Jul 8 2014 wp-load.php
-rw-r--r-- 1 nginx nginx 33435 Dec 17 07:19 wp-login.php
-rw-r--r-- 1 nginx nginx 8252 Jul 17 2014 wp-mail.php
-rw-r--r-- 1 nginx nginx 11115 Jul 18 2014 wp-settings.php
-rw-r--r-- 1 nginx nginx 25152 Dec 1 06:23 wp-signup.php
-rw-r--r-- 1 nginx nginx 4035 Dec 1 06:23 wp-trackback.php
-rw-r--r-- 1 nginx nginx 3032 Feb 10 2014 xmlrpc.php

外部のWebデザイナー(Wordpressのサイトを構築していただく方)向けのLinuxユーザに、自社のWordpressの操作(/var/www/wordpress配下でファイル書き込み、ファイル追加、削除)が行える権限を与えたいと考えています。

この場合、操作用のlinuxユーザはnginxグループに所属させて、/var/www/wordpress配下のパーミッションに、nginxグループに書き込み権限を加えれば良いと思うのですが、一般的?には、こういったWebデザイナー向けにはどのような権限を持たせたユーザを渡せば良いのでしょうか。


ディレクト...続きを読む

Aベストアンサー

外部のWebデザイナーがどんな方法でファイルを操作するかによります。
例えばFTPだけであれば、FTPdをpureftpdにしてバーチャルユーザを使えば最もシンプルですし。
ご提示の方向であれば、ftpdの設定でumaskを002にする&ディレクトリをg+sしておくとかでしょうか。
実際にはシェルも使うとか、FTPではなくFTPsでクライアント認証も必要とか、いろいろな要件によってとる手法もまちまちです。

Qwikiから共有Webサーバへ

wikiで編集(更新)した内容を、共有webサーバに自動的に、
またはボタンひとつで反映させる方法はどういったものがあるのでしょうか?

初心者なんで分かりやすく教えていただけると嬉しいです。
宜しくお願い致します。

Aベストアンサー

共有webサーバとは何ですか?

Q社内ローカル環境でWebサーバ(Linux CentoOS)を構築して

社内ローカル環境でWebサーバ(Linux CentoOS)を構築していますが、
クライアント側(WindowsXP)から繋がりません。(表示ができません)

【Webサーバ】
IPアドレス:固定IP
ゲートウェイアドレス:ルータのIPを設定

【クライアント】
hostを設定
接続URL:
http://192.168.XXX.XXX/var/www/html/indez.html
http://サーバ名/var/www/html/indez.html

Webサーバ、クライアント側で他になにか設定するような事はありますか?

Aベストアンサー

ええっとhttpdは動いていますか?
# chkconfig --list httpd
で見てください。全部OFFだったら以下
# chkconfig httpd on
# /etc/rc.d/init.d/httpd start

/etc配下の設定も終わってるならば問題はファイアウォールかSELinuxですね。
あんまり好ましくありませんがファイアウォールの止め方は以下
# /etc/rc.d/init.d/iptables stop

またSELinuxをとめたい場合は、
/etc/selinux/configをviで開いて
SELINUX=disabled
と修正後、rebootです。

どれかが原因です。いろいろためしてみてください。

Qウィンドウズのリモートデスクトップ

ウィンドウズXPにリモートデスクトップ機能があり、それを使って遠隔操作をしたいのですが、相手先に固定のIPがないとできないのでしょうか?それともダイナミックDNS等を使えば出来るのでしょうか?
同じネットワークではなくインターネットを経由するのでコンピュータ名では無理ですよね。教えていただけると幸いです。

Aベストアンサー

固定のIPアドレスがなくても、ダイナミックDNSを利用すればXXX.XXXXXX.ddo.jpのようなドメインでアクセスできます。

また、固定IPでなくても、現在割り当てられているグローバルIPを入力してもアクセスできます。

相手先でルータを使っている場合は、TCP3389をターゲットPCに転送する必要があります。

Qデスクトップの監視は法律違反ですか?

知人の会社でパソコンのフリースペースを作ることになり相談を受けました。
パソコン7台を無料開放するそうです。
安全対策の為に、ドライブシールドとiフィルター導入まではOKなのですが、ユーザーが使っているパソコンの画面をモニタリングしたい!という話になったのです。
理由は「ユーザーがインターネットとかでどんな画面を見ているのか興味があるから」だそうで・・・
私が「ユーザーの同意無しで勝手にモニタリングするとまずいのでは?覗き見みたいなものだし」というと
「法律的根拠はあるの?」と聞かれました。
法律には詳しくないのでお尋ねしたいのですが、上記のような場合、利用者の同意なしに監視する行為は法律違反なのでしょうか?
もし法律違反であるならば、具体的に内容も教えていただけるとありがたいです。
よろしくお願いします。

Aベストアンサー

憲法第21条第2項では「検閲は、これをしてはならない。通信の秘密は、これを侵してはならない。」と定められており、個人の通信の秘密は憲法で保証されています。(インターネットも通信と考える事が出来ます)
また、通信の提供者である電気通信事業者に対しても通信の秘密についても厳しく制限されており

電気通信事業法第4条 電気通信事業者の取扱中に係る通信の秘密は、侵してはならない。
2 電気通信事業に従事する者は、在職中電気通信事業者の取扱中に係る通信に関して知り得た他人の秘密を守らなければならない。その職を退いた後においても、同様とする。

モニタリング対象のPCで、メール見たり、オンラインバンクを利用したりする可能性だってありますよね。利用者に告知しないまま、モニタリングすると、プライバシー侵害などで訴えられるリスクはあると思います。


人気Q&Aランキング

おすすめ情報