問題タブ [forms-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.
asp.net - 新しく作成された認証チケットの有効期限 (asp.net フォーム認証)
私はasp.netフォーム認証とasp.netログインコントロールを使用しています。ログインコントロールには「RememberMe」チェックボックスがあります。
ユーザーが認証された後、LoggedIn(object sender, EventArgs e) メソッドが発生し、このメソッド内で、これを使用して作成された認証 Cookie を表示しています
authCookie.Expires 値をチェックすると、RememberMe がチェックされていない場合は 30 分、RememberMe がチェックされている場合は 50 年になると予想されます (これらは MS のドキュメントによるとデフォルトです)。
しかし、RememberMe をチェックするかどうかに関係なく、常に 30 分です。web.config を確認しましたが、「タイムアウト」フィールドに何も設定されていないため、なぜこれが起こっているのかわかりません。何か案は?
authentication - セッションおよび認証チケットのタイムアウト値に達する前に、ユーザーがランダムに再ログインを余儀なくされる
ユーザーから、画面を使用していて、次の要求ですぐにログイン画面に戻されるという報告と苦情が寄せられています。毎回ではなく、ランダムに発生します。Web サーバーを確認すると、アプリケーション イベント ログに次のエラーが表示されます。
イベント コード: 4005 イベント メッセージ: 要求に対するフォーム認証に失敗しました。理由: 提供されたチケットの有効期限が切れています。
私が読んだものはすべて、Web ガーデンや負荷分散について質問する人々から始まります。どちらも使用していません。私たちは、IIS6 を搭載した単一の Windows 2003 (32 ビット OS、64 ビット ハードウェア) サーバーです。これは、このサーバー上の唯一の Web サイトでもあります。
この動作によって、アプリケーションの例外が発生したり、ユーザーに表示される問題が発生したりすることはありません。ログイン画面に戻り、強制的にログインするだけです。ご想像のとおり、これはユーザーにとって非常に迷惑で非生産的です。
ルートのアプリケーションの web.config で設定したものは次のとおりです。
また、存在しない、または偽の場所を設定している場合、問題が発生する可能性があることも読みました. 私のパス属性はすべて有効なディレクトリであるため、問題になることはありません。
私がはっきりしていない唯一のことは、認証チケットのフォーム プロパティのタイムアウト値がセッション タイムアウト値 (IIS のアプリの構成で定義されている) と同じでなければならないかどうかです。複雑化の可能性を避けるために、認証タイムアウトをセッション タイムアウト (45) よりも短く (40) する必要があるということをいくつか読みました。いずれにせよ、最後のアクションから 1 ~ 2 分後にログイン画面に移動するユーザーがいます。したがって、セッションが期限切れになることは絶対にありません。
2009 年 2 月 23 日更新: セッション タイムアウトと認証チケット タイムアウトの値を両方とも 45 に設定しましたが、問題はまだ発生しているようです。
アプリケーション内の唯一の他の web.config は、Community Server をホストする 1 つの仮想ディレクトリにあります。その web.config の認証設定は次のとおりです。
また、Web ガーデンにいる場合を除き、これが当てはまるとは思いませんが、両方の web.config ファイルで両方のマシン キーの値が同じになるように設定しています (便宜上削除されています)。
これについての助けをいただければ幸いです。これは、大量の Google 検索結果を生成する問題の 1 つであるように思われますが、これまでのところ、どれも私の状況には当てはまらないようです。
c# - FormsIdentity.Ticket.UserData と認証 ticket.UserData の同期を維持
私のasp.net Webサイトで。フォーム認証チケットの UserData 部分にデータを入れています。後で、次を使用してこのデータにアクセスできます
私の質問は、認証チケットが有効である限り、このデータは FormsIdentity.Ticket.UserData で常に利用できるのでしょうか? または、最終的に FormsIdentity.Ticket.UserData と認証チケットの UserData を同期する必要がありますか?
asp.net - asp.net CreateUserWizardを使用するときにユーザーが認証されるのはいつですか
asp.net CreateUserWizard を使用しており、LoginCreatedUser=true を使用しています。メソッドへの CreateUserWizard コントロールの「OnCreatedUser」プロパティもあり、その時点で認証チケットが作成されると思っていましたが、そうではありません。
認証チケット (Request.Cookies[".ASPXAUTH"]) が入力されるのはいつですか?
登録中に UserData を変更して認証チケットに追加できるようにする必要があります。
c# - ユーザーは認証されていますが、Ticket.UserData がありません
次のコードがあります。
UserData がなくなったにもかかわらず、認証チケットが有効になる原因についてのアイデアはありますか?
私のプログラムは通常問題なく動作し、すべての UserData に簡単にアクセスできます。しかし、時々、UserData が存在しないこの状態に陥ります。
php - PHPでフォーム認証チケットの内容を取得する方法
チケットでユーザー名と有効期限を取得できるように、PHP で次の ASP.Net プロセスを元に戻す必要があります。3DES 暗号化を復号化しましたが (以下のステップ 3)、次に何をすればよいかわかりません。復号化した結果の文字列はバイト配列ですか? それをアスキーに変換できるはずですか?(そうではないため)。
チケットを作成するために ASP.Net が行うこと:
- ユーザー名、有効期限、その他のデータをシリアル化します (私は気にしません)。バイト配列を作成します。
- SHA1 を使用してチケットに署名します (sig は最後の 20 バイトです)
- チケットを 3DES で暗号化します (暗号化を解除しました)。
次のようなものが返されます。
6E 85 A4 39 71 31 46 BB A3 F6 BE 1A 07 EE A4 CE 5F 03 C8 D1 4C 97 5D 6A 52 D1 C4 82 75 5E 53 06 7B 1D D2 4D BF 22 40 F7 F4 B8 8D B0 C3 EC E5 BE F7 52 C2 DF 00 7A D1 CB BC 76 4B 10 33 2D 1A B4 15 A7 BB D6 9D BF 41 69 D2 C4 43 4A 26 95 01 F2 06 AA 46 2C 96 CC AD DC 08 59 C0 64 B6 EE 2C 5F CA ED 8B 92 1C 80 FD FF DC 61 67 28 59 CB E6 71 C6 C3 72 0E D0 32 69 22 57 4E 40 2B DA 67 BA 7F F1 C5 78 BC DF 80 8C D8 F2 8B 19 E2 A4 4F 7C 8C D9 97 37 BD B5 5B 0A 66 9B DD E7 DC 7B 78 F4 F8
ascii にマップされません。次に何をすればよいですか? SHA1 検証キーを持っています。助けてくれてありがとう!
asp.net - プログラムで HttpContext.User を更新/更新する
現在ログインしているユーザー Page.User.Identity.Name を表示するマスター ページを持つ ASP.NET サイトに FormsAuthentication を使用しています。
設定でユーザー名を変更できます。変更した場合は、Cookie を更新して、ポストバックでサインアウト/サインインする必要がないようにします。
私はおそらくかなりうるさいですが、ユーザー名を変更した後、別のページをリロードまたはロードするまで、マスターページには元のユーザー名が表示されます。
同じポストバック中に新しいユーザー名を表示できるように、現在の Page.User をプログラムで更新する方法はありますか?
asp.net - フォーム認証を使用してユーザーをプロファイルにリンクする
従来の winform アプリを Web に移行しようとしていますが、フォーム認証に関するアドバイスが必要です。フォーム認証は、独自のユーザー認証機能をロールアップするよりも優れていると思い込んでいますか?
これはwinformアプリケーションが行ったことであり、テーブル構造がすでにそれをサポートしているため、自分でロールバックするのは簡単ですが、フォーム認証はサイトとユーザー認証情報を保護するのにはるかに優れているようです.
私は古いプログラマーですが、Web 開発ではかなり若いので、MS 組み込みツールを使用すると、機能するよりも見た目が良い場合があることを何年にもわたって学びました...フォーム認証はそのようなケースの 1 つではありませんか?
ありがとう!
asp.net - フォーム認証テーブルの場所
aspnet_regsql を使用してフォーム認証用のベース テーブルを作成する場合、これらのテーブルをアプリケーション データベース カタログ内に格納するか、認証専用のデータベース カタログを作成することをお勧めします。
ありがとう!
c# - C# から PHP へのコード変換で sha1 の一致が得られません。何が欠けていますか?
私はこれを理解しようとしているので、似たようなことができます。知っている:
buf には、ハッシュが追加された認証キーが含まれています (最後の 20 バイト)。MachineKeySection で検索されている HashData は SHA1 です。
これが私が考えていることです。buf の最後の 20 バイトを除くすべてをハッシュしています。次に、作成したばかりのハッシュと buf の最後の 20 バイトに追加されたハッシュを一度に 1 バイトずつ比較します。
だからPHPで私はこれを試しています:
そして次のステップは比較です。しかし、$hash と sha1($ticket) の出力をエコーすると一致しないので、コードでそれらを比較することさえ気にしませんでした。