問題タブ [formsauthentication]
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.
c# - なぜ/いつ WebSecurity.cs を使用する必要があるのか
FormAuthentication と System.Web.Security のメンバーシップ クラスを使用してこれを行うことができる場合、websecurity.cs の目的は何ですか?同じことを行うためにクラスが必要になるのはなぜですか?
asp.net - ASP.Net MVC3 FormsAuthentication 全体的なログイン イベント
ASP.Net MVC3 アプリがあります。LogIn アクションが呼び出されると、MembershipProvider を使用してユーザーを検証し、FormsAuthentication を使用して Cookie を設定します。
さらに、データベースからユーザーに関する情報を取得し、それをセッションに保存します。
ユーザーがその後サイトにアクセスすると、Cookie を介して既に認証されているため、データベースからユーザーに関する情報を再度取得できるようにフックする場所を探しています。
HttpApplication.AuthorizeRequest() はこれを行うのに最適な場所ですか? 明らかに、これはすべてのリクエストに対して呼び出されるため、ログイン後または自動的に認証されたときに、ユーザーが認証されたことを示すものを使用できることを望んでいました。
asp.net - IE で NTLM とフォーム認証を混在させる (Empty POST の問題)
私たちの ASP.NET アプリケーションは IIS 7.5 でホストされており、次のように設定されています。
http://siteurl
メイン サイトは、 (1)でアクセス可能なルート IIS フォルダーの下でホストされます。http://siteurl/Intranet
(2)でホストされている同じ AppPool に別のアプリがあります。
メインアプリ (1) では、フォーム認証 (url: siteurl/loginform) とともに匿名認証が有効になっています。2 番目のアプリ (2) には、統合認証 (NTLM) があります。
ログイン手順は次のように機能します。
- ユーザーは最初にサイトの URL に移動します
- ユーザーは統合認証を確認するために /Intranet にリダイレクトされます
- 統合が承認された場合、ユーザーは適切な認証 Cookie を使用して siteurl にリダイレクトされ、サイトにアクセスできます。
- 統合に失敗した場合、ユーザーは siteurl/loginForm にリダイレクトされ、資格情報を手動で入力します
ステップ 4 でフォーム データの送信を拒否する Internet Explorer (8、9、10) には問題があります。そのセッションで NTLM ネゴシエーションが開始されると、認証されていないサイトに IE がコンテンツを POST しないという既知の動作のようです。 . これに対するいくつかの回避策を検討しました。
- 資格情報を Cookie (JS を使用) に保存し、POST コンテンツの長さが 0 の場合はサーバーに保存し、Cookie の値を確認してください。後でクッキーを削除します
- POST の代わりに GET を使用して資格情報を送信します (ブラウザのアドレス バーに投稿されたばかりのパスワードがユーザーに表示されないようにする必要があるため、醜い)
- 新しいタブを開き、別のブラウザ セッションで認証プロセスを続行するためのリンクをユーザーに提供します (これは、IE が 2 番目のタブから POST データを喜んで送信するため、うまくいくようです)。
この問題を回避するために他に必要なオプションはありますか? 上記の 3 つの中で、どれが望ましいでしょうか。
vb.net - FormsAuthentication Cookie キャッシング
ブラウザーを閉じたとき、または別のユーザーがサインインしたときに、authcookie がドロップされないという問題があります。
私のクッキーはここで宣言されています:
Cookieのユーザー名を表示する変数があるため、これがCookieをドロップしていないことはわかっています
asp.net - ASP.Net フォーム認証 Cookie がセッション間で渡される
私はASP.Netでの開発にかなり慣れていません。これに対する解決策を高低で検索しましたが、役に立ちませんでした。フォーム認証を使用してユーザーを認証しています。ユーザー A でログインすると、現在のセッションを破棄し、新しいセッション Cookie/ID を生成してコンテンツ ページにリダイレクトすると、すべてが計画どおりに機能します。ただし、新しいブラウザー ウィンドウを開いてログイン画面に移動し、新しいセッションを開始すると、ユーザー A の認証 Cookie が自動的にこのセッションに渡され、要求 Cookie コレクションの一部になります。さらに悪いことに、実際にユーザー B としてログインして新しい認証 Cookie を取得し、セッション A のブラウザー ウィンドウを更新すると、ユーザー B の認証 Cookie が表示されます。
なぜこれが起こっているのか分かりません。コード ビハインドで Response.Cache.SetCacheability("no-cache") を具体的に設定しているにもかかわらず、応答ヘッダー コレクションがキャッシュ制御「プライベート」に設定されているため、ブラウザー (IE9) が認証 Cookie をキャッシュしていると考えました。すべてのページに。それから、スレッドの問題である可能性があると考えていました。
なぜこれが起こっているのかについての洞察は大歓迎です、ありがとう。
asp.net-mvc-3 - MVC3 でのセッション/フォーム認証タイムアウトの原因
アイドル時間のないアプリケーションで作業している場合でも、認証が突然停止する理由を教えてください。AJAX 呼び出しの有無にかかわらず。また、MVC3 アプリケーションからログオン ページへの 302 リダイレクトを取得するさまざまな理由は何ですか。
ランダムに発生するタイムアウトの問題に苦しんでいます。アプリケーションにログインしてから数分以内の場合もあれば、何時間も (アイドル時間の有無にかかわらず) 放り出されることなく移動できる場合もあります。
ありがとうございました
c# - シングル セッション (単一の接続ユーザーから) からスレッドをロックするために使用するオブジェクト
1 人のユーザー の 2 つのスレッドが同時にコードの一部にアクセスするのをブロックするために、 lock("on some object")したいと思い ます。2 つの異なるセッションを持つ 2 つの異なるユーザーがそれを行うことができます。セッションの処理にFormsAuthenticationを使用しています。ロックにはどのようなオブジェクトを使用できますか? このクラス (FormsAuthentication) は、セッションごとにある種のシングルトンを提供しますか?それとも、それを行うための他のトリックを知っていますか?
オブジェクトのセットで辞書を非表示にするシングルトンを処理することを考えています(開いているさまざまなセッションのロックのセットとして)。しかし、コードを理解しにくくするような複雑なクラスを開始する前に、それを行うための最善かつ簡単な方法を忘れているのでしょうか?
シングルセッションでそのロックを行うためのより良いトリックを知っていますか?
asp.net - ASP.NET MVC サーバー間でのフォーム認証 Cookie の共有
全て、
現在、共有フォーム認証 Cookie を必要とする 2 つのボックスにまたがるサブドメインがあります。
- Box1: Windows Server 2008 Standard/IIS 7
- Box2: Windows Server 2009 R2/IIS 7.5
web.config ファイル内のすべてのフォーム認証値とマシン キー値を既に一致させていますが、アプリを切り替えると、2 番目のマシンには認証 Cookie がありません。私たちがどちらの方向に行くかは問題ではありません。
IIS 7 と 7.5 の間でフォーム認証 Cookie を共有する際に問題はありますか?
ありがとう、
B
c# - FormsAuthentication.Authenticate でログイン
ユーザーが Web サイトにログインできる認証 Cookie を作成しようとしています。
次のようなログインフォームがあります。
そして、そのボタンはコード ビハインドでこれを行います。
Web.config では次のようになります。
いつも「認証に失敗しました」と表示されるのはなぜですか? ログインしたユーザーが特定のページにアクセスするために必要な認証 Cookie を作成したい場合、何が間違っていますか?