問題タブ [http-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - プレーンな HTTP 認証と PHP を使用して、Apache で認証済みのユーザー名を取得するにはどうすればよいですか?
まず、セキュリティに関する考慮事項を整理しましょう。私は、1 回限りの内部使用のみ、インターネットに接続されていない LAN、PHP Web アプリのために、Apache の下で単純な認証を使用しています。
PHPでHTTP認証されたユーザー名を取得するにはどうすればよいですか?
javascript - HTTP認証を使用して自動ログインするGreaseMonkeyスクリプト
仕事で書いたGreaseMonkeyスクリプトがかなりたくさんあり、ここにある内部サイトに自動的にログインします。HTTP認証を使用するタイムシートアプリケーションを除いて、これらのサイトのほぼすべてにスクリプトを作成することができました。
GreaseMonkeyを使用してこのサイトに自動的にログインする方法はありますか?
編集:ブラウザのパスワードストア機能を認識していますが、スクリプトは、サイトの読み込み時にサイトにログインしているかどうかを確認し(HTMLをトラバースして)、ログインページに投稿を送信することでさらに一歩進んでいます。これにより、サイトをロードし、ログインページに入り、クレデンシャルを入力し、送信を押すという手順が不要になります。
javascript - ブラウザの認証ダイアログを抑制するにはどうすればよいですか?
私のWebアプリケーションには、AJAX呼び出しを介して認証資格情報を送信するログインページがあります。ユーザーが正しいユーザー名とパスワードを入力した場合、すべてが正常ですが、そうでない場合は、次のようになります。
- Webサーバーは、要求に整形式のAuthorizationヘッダーが含まれていても、ヘッダー内の資格情報が正常に認証されていないと判断します。
- Webサーバーは401ステータスコードを返し、サポートされている認証タイプを一覧表示する1つ以上のWWW-Authenticateヘッダーを含みます。
- ブラウザは、XMLHttpRequestオブジェクトに対する私の呼び出しへの応答が401であり、応答にWWW-Authenticateヘッダーが含まれていることを検出します。次に、ユーザー名とパスワードの入力を求める認証ダイアログが表示されます。
これは、ステップ3まではすべて問題ありません。ダイアログをポップアップさせたくないので、AJAXコールバック関数で401応答を処理したいと思います。(たとえば、ログインページにエラーメッセージを表示します。)もちろん、ユーザーにユーザー名とパスワードを再入力してもらいたいのですが、ブラウザーの醜いデフォルトではなく、フレンドリーで安心できるログインフォームを表示してもらいたいです。認証ダイアログ。
ちなみに、私はサーバーを制御できないため、カスタムステータスコード(つまり、401以外のもの)をサーバーに返すことはできません。
認証ダイアログを非表示にする方法はありますか?特に、Firefox 2以降で[認証が必要]ダイアログを非表示にできますか?IE 6以降で[ホスト]に接続ダイアログを抑制する方法はありますか?
著者からの追加情報の編集
(9月18日):
ブラウザーの認証ダイアログがポップアップする実際の問題は、ユーザーに十分な情報が提供されないことです。
ユーザーは、ログインページのフォームからユーザー名とパスワードを入力したばかりで、両方を正しく入力したと考えており、送信ボタンをクリックするか、Enterキーを押しました。彼の期待は、彼が次のページに移動するか、おそらく彼が自分の情報を間違って入力したので再試行する必要があると言われることです。ただし、代わりに予期しないダイアログボックスが表示されます。
ダイアログは、彼がユーザー名とパスワードを入力したという事実を確認しません。問題があったこと、そして彼が再試行する必要があることを明確に述べていません。代わりに、ダイアログボックスには、「サイトによると:' [レルム] '」などの不可解な情報がユーザーに表示されます。ここで、 [レルム]は、プログラマーだけが愛することができる短いレルム名です。
Webブラウザの設計者は注意します。ダイアログ自体が単によりユーザーフレンドリーである場合、認証ダイアログを抑制する方法を誰も尋ねません。私がログインフォームを使用している理由は、製品管理チームがブラウザの認証ダイアログをひどいものと正しく見なしているためです。
security - Kerberos および T125 プロトコル
Kerberos 認証で T125 プロトコルが使用されるのはなぜですか? Kerberos 認証は次のように動作すると思います。
- クライアントは Kerberos 機関へのチケットを要求します
- Kerberos 機関はクライアントにチケットを提供します
- クライアントはサーバーに対して認証を試み、このチケットをサーバーに送信します。
- サーバーは、チケットが Kerberos 権限で問題ないことを確認し、クライアントを認証します。
では、このプロセスのどこで T125 が使用され、その理由は何ですか?
また、クライアントはサーバーにアクセスしようとするたびに (たとえば、HTTP GET ページごとに) チケットを送信し、サーバーはいつでもこのチケットをチェックしますか? それとも、「会話」の開始時に一度だけですか?
ありがとうございました!
django - Django で HTTP 基本認証を使用できますか?
Apache で実行されている Web サイトがあり、そこへのアクセスには、HTTP 基本認証によって保護された多数の静的ページがあります。
Django のビルトイン ユーザー管理サポートを使用して、サイトの新しい部分を Django で作成しました。
私が抱えている問題は、ユーザーが HTTP 基本認証を介して 1 回ログインし、次に Django ログイン フォームを使用して再度ログインする必要があることです。これは不器用であり、ユーザーにとって非常に混乱を招きます。
HTTP 基本認証情報を使用して、Django にユーザーをログインさせる方法を誰かが見つけたのではないかと思っていました。
パスワードを Django に渡すことは期待していませんが、ユーザーdave
が Apache によって認証されている場合は、Django にも自動的にログインする必要がありますdave
。
(1 つのオプションは、Apache と Django でユーザー ストアを共有して、共通のユーザー名とパスワードを確保することですが、これには、私が回避しようとしている 2 つのログイン プロンプトが含まれます。)
http - IIS 経由の ASP Classic での HTTP 認証 (基本またはダイジェスト)
スクリプトの制御下にあるデータベースまたはパスワード リストに対して HTTP 認証を使用する ASP クラシックで Web サイトを開発したいと考えています。理想的には、スクリプトはホストされた環境で実行できる必要があるため、ソリューションにコンポーネントや IIS 設定が含まれないようにする必要があります。
手がかり/コードを深く感謝します。
.net - WCF WebHttp 混合認証 (基本および匿名)
これはすべて、カスタム サービス ホストでホストされている WebHttp バインディングに関するものです (現時点では IIS はオプションではありません)。
カスタム UserNamePasswordValidator とカスタム IAuthorizationPolicy を実装しました。基本認証を使用するようにエンドポイントのバインドを構成すると、すべてが思いどおりに機能します (カスタム プリンシパル、カスタム ロールなど)。
匿名 HTTP アクセスの機能も追加し、カスタム実装で匿名ユーザーをいくつかのデフォルト ロールなどに配置したいと考えています (Authenticate ヘッダーが送信されない場合)。
これで、私のカスタム コードがヒットする前に、匿名ユーザーに 401 が与えられるようになりました。HTTP 基本認証要件をオフにすると、Authenticate ヘッダーは完全に無視されます。
これを両方の方法で (2 つの別個のエンドポイントを作成せずに) 行うには、どのように構成または Authenticate ヘッダーを挿入しますか?
browser - ブラウザーで http 認証 UI が貧弱なのはなぜですか?
ログアウトボタンがないのはなぜですか?「ログインしているウェブサイト」のリストがないのはなぜですか? HTTP の仕様に問題があるためでしょうか。
実際にHTTP認証に頼ることができれば、Web開発者の生活はずっと楽になります...
apache - Apache/.htaccess - ドメインをパスワードで保護するが、ドメイン内の特定の URI をホワイトリストに登録する
だからここに私がやりたいことがあります:
http://example.com/ * にアクセスするには、特定の URI にアクセスする場合を除いて、ユーザーはユーザー名/パスワードを入力する必要があります (例: http://example.com/contact/、http://example.com /blog/など) 認証する必要はありません。http://example.com (ルート) も開いている必要があります。
いくつかの特別な .htaccess ディレクティブを設定する必要があることはわかっていますが、それを行う方法が正確にはわかりません。どうすればこれを達成できるか知っている人はいますか?
どんな助けでも大歓迎です。ありがとう!
authentication - IIS7 と認証の問題
ストック標準の ASP.NET Web サイトを開発マシン (サーバー ルームの内部マシン) にデプロイしました。
現在、この開発サイトには、内部ユーザーと外部ユーザーの両方がアクセスできます。現在、IIS6 では、匿名認証をオフにし、他の何かをオンにするために使用していました.. ユーザー名とパスワードのポップアップ モデル ボックスをユーザーに提供していました。web.config ファイルで定義されたユーザー名またはパスワードを入力する必要があったと思いますか? (ウェブサイト アカウントのユーザー名/パスワードではありません)/
IIS7 では、Anon Auth をオフにし、 BasicまたはWindows Authをオンにすると、サイトにアクセスできますが、ユーザーがサインアップしたアカウントではなく、それらの資格情報でログインしようとしています (いくつかのストック標準のasp.net Webフォームページ)。
それで...サイト全体を「ロック」して、テスターにサイトへの一般的なアクセスを取得させることは可能ですか..これは、Webサイトのユーザー名とパスワードとは異なります。これらのユーザー名とパスワードは、代わりにサイトで使用するためのものです。
それは理にかなっていますか?
乾杯!
承認セクションはありません。
また、「Digest Auth」を iis7 に追加してそれを有効にすると (そして他のすべてを無効にすると)、ポップアップ ウィンドウが表示されますが (kewl!)、どの資格情報を渡す必要があるのか わかりません。それらをどこで定義できますか?資格情報を手動で (ウェブサイトのユーザーから分離するため) ??