2012-01-12 8 views
2

基本的には、ユーザーが認証されたページにアクセスしている場合はログイン(例:#CGI.AUTH_USER#)を表示するページを作成しようとしています。ただし、ユーザーが非認証の場合、ユーザーはそのページにアクセスできますが、ログインUIは必要です。AnonがオンになっているときにWinのログイン情報を取得するにはCFusion

私は現在Anon Access ONとWindows Authenモードをオンにしていますが、どちらの方法でも動作しないようです。

Anon Accessをオンにしても、CGI.AUTH_USERは取得されません。 Windows認証を有効にすると、ページにアクセスする際にユーザーのログインが要求されます。

IISがAnonユーザーを受け入れ、Windows認証ユーザーの場合はユーザーの認証情報を取得できるようにする方法はありますか?

ありがとうございます!

答えて

0

これは可能ではないと私は考えていますが、IISでの認証はオンまたはオフです。あなたがそれをオンにすると、あなたは何かを見る前にログインする必要があります。あなたがそれをオフにしないと、

ほとんどの人は自分のログインページをコード化し、この方法で認証します。必要に応じて<CFLDAPを使用して、アクティブディレクトリに対してユーザーを検証することもできます。

+0

はい、私はこれを恐れていました。私は、ユーザーが認証されているかどうかを確認し、そうでない場合はユーザー名を取得したいと思っていました。なぜなら、WebVPN経由でWindow Authページ(非Anon)でWebサイトにアクセスすると、一部のユーザーはこのページをまったく読み込めないからです。ネットワークに接続されていないときに取得したページの1つを取得します。そういうわけで私はanonユーザーも受け入れたいと思っています。 – James

0

これは私たちがやる方法です。 1つのCFMページでそれをオンにしてから、そのページへのJavaScript呼び出しを行います。そのページのヘッダー応答に基づいて、IISサーバーが認識するADサーバーに対してユーザーが認証されているかどうかを確認できます。オフに認証されていない場合は、ログイン情報を「キー」できるように、ログインボックスを提示します。

+0

javascriptのアプローチでは、保護されたリソースにアクセスしたときに通常表示されるブラウザベースのログインプロンプトを回避する方法を見つけましたか?私はこの正確なアプローチ(およびそれに多くのバリエーション)を試みましたが、ブラウザがその厄介なログインプロンプトを表示するのを止めることはできませんでした。 –

+0

正直なところ、ログインプロンプトが表示されるとは言えません。それは、企業のITがブラウザーをマシンの標準イメージ内でどのように構成したかと関係があります。 – Snipe656

+0

私は、ブラウザベースのログインプロンプトが表示されないようにする方法はないと確信しています。しかし、そこにあるこれらの調整に頼っている問題は、調整されたブラウザを持つユーザがダイアログを抑制する必要がある同じユーザであると仮定していることです。IEは信頼できないユーザです。しかし、ブラウザを微調整している可能性が最も低い信頼できないユーザーでもあります(オフドメインの可能性が高いと見なされます)。 –

0

特定の技術的な問題に対処するために、匿名アクセスとWindowsベースの認証の両方を許可する単一のリソースを持つことはできません。ただし、匿名アクセスを可能にするメインページと、Windows認証で保護されたサブフォルダ内のページを持つことができ、これらのページは同じCFアプリケーションスコープを共有できます。この基本的な配置を使うことが必要になるでしょう。

あなたが解決しようとしている根本的な問題については、あなたが説明したように、最近Windows認証アプローチと既存のWebフォームベースのログインを混在させる可能性について、時間を費やしています。理想的な状況では、すべてのユーザーがいつも使っていた同じベースURLにアクセスできるようになり、そのオプションが利用可能になったときに自動的に自動ログインし、ブラウザベースのログインでは煩わされないようになるため、 Windows認証が利用できない場合はプロンプトが表示されます。私たちが決定したことから、理想はそれほど可能ではありません(HTTPプロトコルのいくつかの制限のため、セキュリティ保護されたリソースにアクセスする際には常にログインプロンプトが表示されます)。しかし、我々は有用で価値のある理想に近いほどのいくつかのオプションを見つけました:

1)あなたは、この自動ログイン機能を持つように特別なURLを指定することができます。たとえば、https://baseUrl/autologin/のようなものです。ドメインユーザーは、ドメインにあるマシンからそのURLをブックマークし、そのブックマークを使用してサイトにアクセスできます。ドメインコンピュータ上のドメインユーザー以外のユーザーがそのURLにアクセスした場合、ブラウザベースのログインダイアログでログインするように求められます。ドメイン以外のユーザーは、そのダイアログから続行することはできませんが、ドメインユーザーは可能です。すべてのユーザー(ドメインかどうか)は、通常利用可能な通常のフォームベースのログイン画面を使用してログインすることもできます。このオプションを使用した場合は、ホームページ上のリンクを追加して、ユーザーが「自動ログイン」するようにすることもできます。このURLを使用すると、ドメインのユーザーだけがこのURLにアクセスできます。

2)ご使用の環境内で、信頼できるドメインコンピュータでこれらのWebサイトを要求しているユーザーが行う可能性の高いネットワークセグメントを特定できます。これらのユーザーが識別されたネットワークから来たときに、ユーザーに自動ログインしようとするような方法でアプリケーションを構成することができます。信頼されていないこれらのネットワークからの要求がある場合、最悪の事態は、ユーザが予期せずブラウザベースのユーザ名とパスワードのプロンプトを提示されることである。そのプロンプトが表示された場合、キャンセルを押して通常のログインページに進むか、ドメイン資格情報を入力してログインすることができます(この場合は、デスクトップが設定されていないことが原因です)何らかの理由で正しく - それ以外の場合は自動ログインしていました)。このネットワークベースの検出方法は、IISのURL書き換えモジュールを使用して実行できます。

+0

ありがとうございます。基本的に私は上記のDaleのために書いたものを貼り付けます。 "はい、私はこれを恐れていました。私は、ユーザーが認証されているかどうかを確認したいと思っていましたが、そうでなければユーザー名を取得したいと思っていました。 WebVPN経由でAuthページ(非Anon)を送信すると、一部のユーザーはこのページを読み込むことができず、ネットワークに接続していないときに取得したページの1つが表示されます。 。" – James

+0

私の前のコメントで推測したように、あなたの迂回ルートにさらにコメントをつけて、このページに接続するすべてのユーザーは同じドメイン(VPNを使用し、すべてのユーザーが信頼されています)です。ほとんどの人のために(どちらかのユーザーのログインを検出するか、Windowsのログインを促す)、少数の人にとっては、Windowsのログインポップアップボックスも表示されません。 – James

+0

あなたが動作していないユーザーがサイトを「信頼済みサイト」の設定に追加したことを確認できます。自動ログインで役立つことがあります。 –

関連する問題