問題タブ [formsauthenticationticket]

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.

0 投票する
1 に答える
2135 参照

.net - FormsAuthenticationTicketはアプリプールのリサイクルに耐えることができますか?

有効期限が非常に長いFormsAuthenticationTicket(および対応するCookie)を作成できるソリューションを探しています。これは、高い値を設定するか、スライディング有効期限を使用することで可能ですが、Webサイトのアプリケーションプールがリサイクルされると、FormsAuthenticationTicketが消え(私は思う)、Cookieが無効になり、ユーザーは再度ログインするように求められます。

これを回避する方法はありますか?

0 投票する
2 に答える
13632 参照

asp.net - ASP.NET: 認証の有効期限が切れたときに FormsAuthenticationTicket オブジェクトを取得する方法

ユーザーの現在の FormsAuthenticationTicket の Expired プロパティをチェックして、認証期間が切れているかどうかを確認しようとしています。しかし、期間が過ぎると、確認するチケットを作成するのに十分な情報を取得することさえできません。私はこれを試しました:

ただし、認証期間が過ぎると User は null になります。それではうまくいきません。私はこれを試しました:

ただし、認証期間が終了すると Forms Cookie はなくなります。つまり、authCookie は null になります。だからうまくいかない。

認証期間が切れたときに FormsAuthenticationTicket オブジェクトを実際に取得する方法はありますか? オブジェクトに「Expired」プロパティがあるため、存在する必要があります。私は何が欠けていますか?

ありがとう。

0 投票する
2 に答える
1673 参照

asp.net-mvc - すべてのリクエストでロールベースのカスタム認証クエリデータベースを使用する正しい方法 asp.net mvc

これは少し無知な質問かもしれませんが、私は mvc を初めて使用するので、申し訳ありません!

私はオタクディナー認証モデルを研究しましたが、私のアプリでは複雑な役割ベースの認証を行っています。だから私がすることはこれです:

ログオン時に FormsAuth でユーザー名/パスを認証してから、Cookie を作成します。

ここでの問題は、カスタム ID を作成するたびに、ユーザーの役割についてデータベースにクエリを実行する必要があることです。これを回避する正しい方法はありますか、それともすべての着信要求で DB を照会するために正しいことをしていますか? 役割リストを Cookie などに保存する必要がありますか?

また、フォーム認証が認証を処理する方法のライフサイクル全体をよく理解していませんか? IFormsAuthentication私はオタクディナーユーザーと同じデザインパターンを使用し、サインイン中に呼び出しFormsAuth.SignIn()ます, メソッドFormsAuthentication.SetAuthCookieを呼び出すのはいつmembershipservice.validateuser()ですか?? また、認証 Cookie が設定されている場合、なぜ nerd dinner はチケットを作成し、それをリクエストに追加し、それを読み取ってPostAuthenticationRequestどのユーザーであったかを確認します。チケット操作はセッションのようなものですか?

ありがとう!メリークリスマス!


更新:このリンクにより、フォーム認証チケットについて少し理解が深まりました。

0 投票する
2 に答える
1243 参照

asp.net - asp.netはrequireSSLを使用し、ユーザーが非SSLページで認証されているかどうかを確認できます

SSL が混在する Web アプリケーション (asp.net 3.5) があります。すべてのアカウント関連ページは SSL 経由で配信されます。ほとんどの他のすべてのページは非 SSL 経由で配信されます。HTTPS と HTTP を自動的に切り替えるには、このコンポーネントを使用します。最近、セキュリティで保護されていない Wifi ネットワークでユーザー セッションを乗っ取る機能に関するニュースがありました。これは、非 SSL 接続を介して送信される Cookie をキャッチすることで可能になります。

これにより、この Web アプリケーションでのセキュリティの選択を見直すきっかけになりました。(再び) MSDN からこの記事を入手し、Formsauthentication でrequireSSL=trueプロパティを試しました。Web アプリケーションを開始する前に、この情報を含む Cookie が Web ブラウザーとの間で送受信されないため、非 SSL ページでは User.Identity が null になることに気付きました。

SSL 接続を介してユーザーを認証するメカニズムが必要です... 非 SSL ページであっても、この認証情報を記憶しています。

SOを検索しているときに、この投稿を見つけました。これは良い解決策だと私には思えます。しかし、Sessionstate にログイン情報を保存することで解決策を見つけることができるのでしょうか? Global.asax で Application_AuthenticateRequest をキャッチすることを考えています。接続が安全かどうかを確認し、authcookie またはセッションを確認します。これをどのように実装するのか、まだ正確にはわかりません。多分あなたはこれについて私と一緒に考えることができますか?

0 投票する
1 に答える
807 参照

layout - レイアウト ページでカスタム ユーザーデータのモデルを表示

私のユーザーは認証されていますが、追加情報が FormsAuthenticationTicket と Cookie に保存されています。

クッキーなどを作成する

これはすべて正常に機能しています。

mvc 3とRazorを使用しています

ページの上部に Fullname / ContactNumber などを表示する foo.Layout.cshtml があります。

これらの値の表示を抽出するコードを foo.Layout.cshtml の先頭に含めることができます。

これは、このコードをコントローラーに含める必要がないことを意味しますが、正直言って気に入らず、実際のアプリ (異なる値) では、レイアウトを含むビューの大部分で値が必要です。

そのため、コントローラー内にコードを含めることについて議論しました。

ビューモデルを作成します。

コントローラーの作成

たぶん、これのいくつかはコントローラーファクトリー内に置くことができます。

他の人々がこの非常に一般的なセットアップにどのように取り組んでいるかについての議論やアイデアを探しています。

私の実際のタスクは、レイアウトを介して各ページの上部にユーザーの氏名を表示し、入力して送信されるさまざまなフォームの下部に氏名 (およびその他のデータ) を表示することです。ポストバック後、氏名は Cookie から再読み取りされ、送信されて他のフォーム フィールドに保存されます。それは理にかなっていますか、それは本当にその時ですか:-/

0 投票する
1 に答える
10300 参照

c# - FormsAuthenticationTicket.expirationvweb.config値のタイムアウト

これはMVC2Webサイトですが、FormsAuthenticationチケットに問題があります。30分後にユーザーがタイムアウトすると、再ログインできなくなります。テスト中に、DateTime.Now.AddMinutes(30)値が5000に設定され、すべてが正常でしたが、現在は30に変更されており、問題が発生しました。

クッキー作成から

Web.configファイル

チケット作成の有効期限の値は>=web.config値である必要がありますか?

0 投票する
0 に答える
963 参照

wcf - Cookie を wcf サービスに渡す

認証Cookieを期待するwcf webhttp(rest)サービスがたくさんあります。質問は、formsauth チケットを wcf サービスに渡すにはどうすればよいですか? フロー認証は、ブラウザーを介した get 要求に対しては正常に機能しますが (そうあるべきです)、httpclient または webchannelfactory を使用して呼び出し中に Cookie を設定する方法がわかりません。この時点で認証が完了し、Cookie が使用可能になります。HttpClient を介してサービスを呼び出すときに、Cookie を挿入する場所がわかりません。

また、次の URL に従って webchannelfactory を使用しようとしました - http://zamd.net/2009/03/05/flowing-forms-authentication-cookie-to-wcf/

ただし、var identity = Thread.CurrentPrincipal.Identity as ClientFormsIdentity;Thread.CurrentPrincipal.Identity が有効な FormsIdentity であっても、null を返します。どんな提案でも大いに役に立ちます。

0 投票する
2 に答える
763 参照

asp.net - FormsAuthenticationTicketタイムアウトの途中で発行された新しいセッションCookie

asp.net 4.0アプリケーション(.NET 1.1からアップグレード)でフォーム認証を使用しています。FormsAuthenticationTicketオブジェクトを明示的に作成し、それを暗号化して(FormsAuthenticationメソッドを使用して)、Cookieでクライアントに送信します。FormsAuthentiation.RenewTicketIfExpired()を使用して、認証Cookieのスライド有効期限を設定します。

Fiddlerを使用して、FormsAuthenticationTicketタイムアウトの途中で発行された新しいセッションCookieを見つけることができます。

formsauthenticationタイムアウト=2分、セッションタイムアウト=20分の場合

すなわち

hh:mm:ss

10:00:00ユーザーがログインします

10:01:10ポストバックが発生します

その後、新しいセッションが再作成され、ログアウトされます。しかし、私はセッションを20分ごとにタイムアウトするように設定しました。さまざまなformsauthenticationタイムアウト値を試しましたが、タイムアウトの途中で常に新しいセッションが作成されます。

これが発生しないように、formsauthenticationタイムアウトを非常に大きな値に設定する必要があります。

.NET 1.1からのアップグレード前は、このような問題はありません。

誰かが理由を知っていますか?これは、asp.net 4.0でスライド式の有効期限を処理するためのバグですか?

0 投票する
1 に答える
135 参照

asp.net - UserData をメモリに格納する

私はフォーム認証の使用にかなり慣れていないため、これがどのように機能するかについて頭を悩ませようとしています。基本的に、私ができるようにしたいのは、FormsAuthentication チケット (LDAP サーバーから返されるデータ) に関連付けられているユーザー データを保存することです。ただし、このデータはかなり大量のデータになる可能性があるため、実際には Cookie に保存したくありません。この情報をサーバー上のメモリに保存することは何とか可能ですが、ユーザーがタイムアウトまたはログアウトした場合にデータも破棄されるように、チケットに強く結び付けておきます。セッション変数を使用してこれを行うことができることはわかっていますが、ユーザーがログアウトした場合にセッション変数を手動でクリーンアップする必要があるため、これは厄介なようです。これは可能ですか、それとも意味がありますか?

0 投票する
2 に答える
3939 参照

c# - asp.net でロール認証が機能しない

以下のコードを使用して、ユーザー認証に基づいてページベースにアクセスしています

}

ログインの詳細が正しい場合、ユーザーは ClientAccount.aspx にリダイレクトされますが、以下の web.config ファイルに示すように、ユーザーのロールが管理者として設定されている場合にのみ発生するようにしたいと考えています。

どうすればこれを実現できますか?

私は web.config ファイルが認証を行うために Cookie を見ていないと思うので、そこで何か間違ったことをしています。