問題タブ [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.
forms - フォームベースの Web サイト認証の決定版ガイド
モデレーター注:
この質問は、現在スタック オーバーフローに適用されている話題性ルールを使用した質問と回答の形式には適していません。通常、コンテンツがまだ価値があるような質問には「歴史的ロック」を使用します。ただし、この質問に対する回答は積極的に維持されており、履歴ロックにより回答を編集することはできません。そのため、回答を編集できるように「wiki 回答」ロックが適用されています。通常、履歴ロックによって処理される話題性の問題が存在すると想定する必要があります (つまり、この質問は、スタック オーバーフローのトピックに関する質問の良い例ではありません)。
Web サイトのフォームベース認証
スタック オーバーフローは、非常に具体的な技術的な質問のためのリソースであるだけでなく、一般的な問題のバリエーションを解決する方法に関する一般的なガイドラインでもあると考えています。「Web サイトのフォームベース認証」は、このような実験の優れたトピックです。
次のようなトピックを含める必要があります。
- ログイン方法
- ログアウトする方法
- ログイン状態を維持する方法
- Cookieの管理(推奨設定を含む)
- SSL/HTTPS 暗号化
- パスワードの保存方法
- 秘密の質問の使用
- ユーザー名/パスワードを忘れた機能
- ナンスを使用してクロスサイト リクエスト フォージェリ (CSRF)を防止する
- OpenID
- 「私を覚えている」チェックボックス
- ユーザー名とパスワードのブラウザのオートコンプリート
- シークレット URL (ダイジェストで保護された公開URL )
- パスワード強度の確認
- 電子メールの検証
- フォームベースの認証についてさらに詳しく...
次のようなものは含めないでください。
- 役割と権限
- HTTP 基本認証
次の方法で私たちを助けてください:
- サブトピックの提案
- このテーマに関する優れた記事を提出する
- 公式回答の編集
asp.net - IIS 6 / ASP.NET Windows認証のチェックリスト?
ASP.NETアプリケーションで、構築しているイントラネットサイトにユーザーを自動的にログインさせるのに問題があります。グーグルや私が適用した実験に関係なく、IE7によって表示されるログインボックスが常にあります。
Web.configでWindows認証モードを設定し、匿名アクセスを無効にして、IISで正しいデフォルトドメインを構成しましたが、それでもユーザーにログインを求めており、さらに厄介なことに、ユーザーはドメインも提供する必要があります(DOMAIN \ auser)。これは、技術者以外の訪問者に問題を引き起こしています。パスワード記憶機能を提供してくれたZeusに感謝します。
私はネットワーク管理者ではないので、Active Directoryに関する何かが正しく設定されていないか、非常に単純なものが欠落している可能性があります。ユーザーを偽装したくないことに注意してください。IPrincipal.Nameプロパティがユーザーデータベースの有効なレコードのプロパティと一致していることを知っておく必要があります。これにより、ユーザーがアプリケーションに対して認証されます。
この目的のために、AD、ASP.NET、およびIISのすべての構成要件のチェックリストを用意して、デバッグのリファレンスとしてこのように連携し、ユーザーの摩擦を減らすことができれば非常に便利です。
php - プレーンな HTTP 認証と PHP を使用して、Apache で認証済みのユーザー名を取得するにはどうすればよいですか?
まず、セキュリティに関する考慮事項を整理しましょう。私は、1 回限りの内部使用のみ、インターネットに接続されていない LAN、PHP Web アプリのために、Apache の下で単純な認証を使用しています。
PHPでHTTP認証されたユーザー名を取得するにはどうすればよいですか?
.net - httplistener を使用する .net アプリケーションに SSL を追加するにはどうすればよいですか - IIS では *実行されません*
最近の太字の編集
は .netHttpListener
クラスを使用していますが、IIS でこのアプリケーションを実行する予定はなく、ASP.net も使用していません。このWeb サイトでは、asp.net で SSL を実装するために実際に使用するコードについて説明し、このサイトでは証明書のセットアップ方法について説明しています (IIS でのみ機能するかどうかはわかりませんが)。
クラスのドキュメントには、さまざまな種類の認証 (基本、ダイジェスト、Windows など) が記載されています --- いずれも SSL について言及していません。HTTPS を使用する場合は、サーバー証明書を設定する必要があります。これは 1 行のプロパティ設定でHttpListener
残りを把握することになるのでしょうか?
つまり、証明書を設定する方法と、コードを変更して SSL を実装する方法を知る必要があります。
HTTPS にアクセスしようとしているときには発生しませんが、システム イベント ログにエラーがあることに気付きました。ソースは「Schannel」で、メッセージの内容は次のとおりです。
SSL サーバー資格情報の秘密鍵にアクセスしようとしたときに、致命的なエラーが発生しました。暗号化モジュールから返されたエラー コードは 0x80090016 です。
編集:
これまでに行った手順
- C# で、HTTP 接続で機能する HTTPListener を作成しました (例: " http://localhost:8089/foldername/ "
- makecert.exe を使用して証明書を作成しました
- certmgr.exe を使用して信頼される証明書を追加しました
- Httpcfg.exe を使用して、テスト ポート (8090 など) で SSL 接続をリッスンしました。
- listener.Prefixes.Add( https://localhost:8090/foldername/ ");を介してポート 8080 を HTTPListener に追加しました。
- ブラウザーでHTTP クライアント接続 ( http://localhost:8089/foldername/ ") などをテストし、正しいリターンを受け取りました
- ブラウザーでHTTPS クライアント接続をテストしました (例: http://localhost:8090/foldername/ ")。"Data Transfer Interrupted" を受け取りました (Firefox の場合)。
- Visual Studio でデバッグすると、HTTPS 接続の開始時に、リクエストを受信するリスナー コールバックがヒットしないことがわかります。以前に何かをキャッチするためにブレークポイントを設定できる場所がありません。
- netstat は、リッスン ポートが HTTPS と HTTP の両方に対して開いていることを示しています。接続が試行された後、HTTPS ポートは TIME_WAIT になります。
- FiddlerとHTTPAnalyzerはトラフィックをまったくキャッチしません。これらの HTTP 分析ツールに表示されるまでには、プロセスが十分に進んでいないと思います。
質問
- 問題は何でしょうか?
- 欠落している.Netコードはありますか(つまり、HTTPSを指すリスナーにプレフィックスを追加するだけでなく、C#でさらに多くのことを行う必要があります。これは私が行ったことです)
- どこかで設定手順を見逃していませんか?
- 問題を分析するために他に何ができますか?
- システム イベント ログのエラー メッセージは問題の兆候ですか? もしそうなら、それはどのように修正されますか?
asp.net - ASP.NET で認証されたユーザーを参照するには、ユーザー名またはユーザーの ID を使用する必要がありますか?
そのため、私の単純な学習 Web サイトでは、組み込みの ASP.NET 認証システムを使用しています。
彼のzip、DOBなどを保存するためにユーザーテーブルを追加しています。私の質問は次のとおりです。
- 新しいテーブルでは、キーはユーザー名 (文字列) またはユーザー ID である必要があります。ユーザー ID は、
asp_ tables
. - その醜いGUIDを使用することがベストプラクティスである場合、それを取得する方法を知っている人はいますか? 名前ほど簡単にはアクセスできないようです (
System.Web.HttpContext.Current.User.Identity.Name
) - ASP.NET 認証で提供される GUID フィールドと userName フィールドのどちらも使用しないことをお勧めする場合、ASP.NET 認証を使用するにはどうすればよいですか? 私が気に入っているオプションの 1 つは、ユーザーの電子メール アドレスをログインとして使用することですが、ASP.NET 認証システムでユーザー名の代わりに電子メール アドレスを使用するにはどうすればよいですか? (または、そこで何もする必要はありません。userName が実際にはメール アドレスであることを「知っている」と判断したのは私だけですか?
ご注意ください:
- .NET で GUID を取得する方法について質問しているわけではありません。GUID の userID 列を参照しているだけです
asp_ tables
。 - ユーザー名は ASP.NET 認証で一意です。
authentication - ログインIDは何を使う?
私たちは、製品の大規模な書き直しの初期設計段階にあります。現在、私たちの顧客はほとんど企業です。アカウントを管理しています。アカウントのユーザー名はそれぞれ独自の名前空間にありますが、サーバー間でアセットを移動できないことを意味します。
単一の名前空間に移行したいと考えています。しかし、これは一意のユーザー名の問題をもたらします。
では、最良のアイデアは何ですか?
- メールアドレス (検証あり) ?
- 一意の英数字文字列 ("johnsmith9234")?
- OpenID を検討する必要がありますか?
authentication - OpenID Attribute Exchange - 使用する必要がありますか?
私の Web サイトでは、認証に OpenID のみを使用します。属性交換を介してユーザーの詳細を取得したいのですが、属性交換は StackOverflow に多くの悲しみをもたらしたようです。
業界の現状は?適切な属性交換を行う OpenID プロバイダーはありますか?
OpenID 属性の交換を完全に避けるべきですか?
一貫性のない機能のサポートにどう対処すればよいですか?
ruby-on-rails - OpenID authentication in Ruby on Rails
I am a neophyte with Ruby on Rails but I've created a couple of small apps. Anyway, I'm really interested in OpenID and I would like to implement OpenID authentication and maybe some Sreg stuff in a Rails app. All of the research that I have done has come up with articles that are out of date or just don't work for me. Since I'm so new to Rails I'm having difficulty debugging the issues so...
What is the best way to implement OpenId in Rails?
php - 認証されたユーザーからの特定の ajax リクエストのみを受け入れる
特定のページへの特定の ajax 呼び出しが認証されたユーザーからのみ受け入れられるようにするためのベスト プラクティスは何ですか?
例えば:
blog.phpという名前のメイン ページがあるとします(創造性は豊富です)。また、パラメーターpost_idを探してデータベースからエントリを削除するdelete.phpというページがあるとします。
この非常に不自然な例では、blog.php に何らかのメカニズムがあり、ajax 経由でリクエストを delete.php に送信してエントリを削除します。
これで、このメカニズムは blog.php で認証されたユーザーのみが利用できるようになります。しかし、大量の乱数を指定して delete.php を呼び出し、サイト内のすべてを削除するのを誰かが止めるにはどうすればよいでしょうか?
blog.php でセッション変数を設定する簡単なテストを行い、delete.php への ajax 呼び出しを行って、セッション変数が設定されているかどうか(設定されていない)を返しました。
この種のことを処理するための受け入れられた方法は何ですか?
わかった。初めてこれを試したとき、私は頭がおかしくなったに違いありません。
上記のような別のテストを行ったところ、完全に機能しました。
.net - WCF 経由で認証する最良の方法は何ですか?
WCF 経由で認証を実装する最良の方法は何ですか?
WS-* はトランスポートに依存しない必要があるため、使用しないことをお勧めします。
「自分で巻く」べきですか?それを行うためのガイダンスはありますか (記事/ブログ投稿)?
または、組み込みの ASP.NET メンバーシップおよびプロファイル プロバイダーをサーバー側で使用する方法はありますか?