問題タブ [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# - フォーム認証と認証 Cookie が保持されない
フォーム認証と Cookie の永続性に関して多くの質問があることは承知していますが、1 日のほとんどを調査に費やしたので、まだ問題があります。
私の問題
アプリの特定の部分へのアクセスを認証されたユーザーに制限する Web アプリ (VS2010 ですが、webapp は f/w 3.5) に取り組んでいます (他の部分は開いています)。私の問題は、ブラウザを閉じた後、認証 Cookie が保持されていないように見えることです。
私のアプローチ
次のように web.config で構成されている単純な login.aspx ページを作成しました。
...そして、個々のページの動作は次のように宣言されます。
...これらのクッキーの悪ふざけを除いて、あらゆる点でうまく機能します...
login.aspx ページで、ユーザーのログインとパスワードをデータベース (正常に動作します) に対して認証したら、認証 Cookie を手動で作成します。ユーザーが「ログイン状態を維持する」チェックボックスを選択すると、次のメソッドを使用して Cookie が生成されます。
ここでの目的は、ユーザー Guid を認証 Cookie に保存し、それを使用してユーザー オブジェクトをセッションに復元することです (これは login.aspx ページにもあります。私の考えでは、作成した認証 Cookie からユーザー GUID を取得し、それを使用して対応するユーザー レコードをセッションに詰め込み、要求されたページにリダイレクトします):
最後に、login.aspx ページのログイン ボタンのコードを次に示します。
ご覧のとおり、特に複雑なことは何もありませんが、GenerateAuthenticationCookie(..) で作成された authCookie が正しく作成されているにもかかわらず (私が知る限り)、持続しません。
私が気づいたことの 1 つは、次のようなコードを global.asax.cs の Application_AuthenticateRequest メソッドに配置すると、次のようになることです。
...そのブレークポイントは、新しいブラウザー セッションに続いてヒットすることがありますが、スタートアップ ページ (この場合、純粋に開発とテストのために使用されるダミーの start.aspx ページ) から移動するとヒットしなくなります。
長い質問で申し訳ありませんが、私はここで本当に苦しんでいます。
確認・試したこと
コードが実行されていることを確認する - はい ブラウザの設定 - つまり、終了時に Cookie を削除しない - 削除を確認しない 別のタイムアウトを試す - たとえば、web.config のタイムアウトと同じまたは異なる、問題ではないようです... ...もちろん、少なくとも 20 から 30 の異なる以前の質問がありますが、役に立ちませんでした。
システム/開発環境
Windows 7 64 ビット、VS2010 (ただし proj は 3.5)、SQL Server 2008 Express。
私の開発サーバーでは、この問題が残っているため、必ずしも環境に問題があるかどうかはわかりません。そのマシンは、SQL 2008R2 を実行している WS2008R2 ボックスであり、同じ問題が残っています。
ここで試してみることができるアイデアはありますか? global.asax.cs の最初の Application_AuthenticateRequest ヒットをインターセプトし、セッション状態に何かを詰め込んで「認証済み」としてマークすることで、これを機能させることができるという予感があります (そのメソッドが呼び出されるたびに高価な認証試行を避けるためです。 1ページに数回あります。
前もって感謝します、
ジョン
asp.net - フォーム認証を使用して、別のサブドメインへのリダイレクトを処理する方法
フォーム認証を使用する複数のサブドメインがあります。ユーザーがログインすると、他のサブドメインに移動しても問題ありません。
これが私の問題です。reporting.example.com/reporting.aspx にアクセスすると、login.example.com/login.aspx にリダイレクトされます。資格情報を入力した後、存在しないログイン.example.com/reporting.aspxにリダイレクトされます。
回避策はありますが、よりクリーンな方法があるかどうか知りたいです。私が現在行っていることは、reporting.example.com のフォーム要素の loginUrl 属性を login.example.com/login.aspx?domain=reporting.example.com に設定することです。
次に、login.aspx コードで、認証して Cookie を設定した後、URL に渡されたドメイン変数があるかどうかを確認します。その場合は、returnUrl の先頭にドメインを追加して、単純なリダイレクトを行います。
動作しますが、ぎこちなく感じます。何か案は?
asp.net - ASP.NETフォーム認証ハンドラーを使用したplupload
pluploadを使用して ASP.NET にファイルをアップロードしようとしています。私のアップロード ハンドラは、理想的には私のサイトのフォーム認証に含める必要がありますが、この場合は機能しません。plupload が firebug で行ったリクエストが表示されず、何をしているのかよくわかりません。この問題を回避する方法はありますか?
これが私のplupload初期化コードです:
.net - ASP.NETMVCで認証メカニズムを変更する最良の方法
formsauthenticationのものとは異なる認証Cookieを読み取り、生成し、更新し続ける必要があります。
IHttpHandlers
、、IHttpModules
カスタム認証フィルターなどを使用するなど、多くのオプションを見ました。
どのように対処しますか?
c# - FormsAuthenticationTicket.expirationvweb.config値のタイムアウト
これはMVC2Webサイトですが、FormsAuthenticationチケットに問題があります。30分後にユーザーがタイムアウトすると、再ログインできなくなります。テスト中に、DateTime.Now.AddMinutes(30)値が5000に設定され、すべてが正常でしたが、現在は30に変更されており、問題が発生しました。
クッキー作成から
Web.configファイル
チケット作成の有効期限の値は>=web.config値である必要がありますか?
.net - この SSRS 認証例外を回避するにはどうすればよいですか?
カスタム セキュリティ コードを SSRS 2008 (R2 ではない) に実装して、Windows 認証の代わりにフォーム認証を許可しようとしています。私はマイクロソフトのサンプル コードに基づいてソリューションを作成し、そのほとんどを完全に正常に動作させることができました。私が問題を抱えている唯一の領域は、実際の Report Manager URL にログオンするときです。
問題 1
URL を使用すると、フォルダーにコピーしhttp://localhost/Reports_MSSQL2008/
たページが取得されません(Microsoft の例の指示に従って)。ReportManager フォルダーの web.config を修正して、次の内容を含めました。UILogon.aspx
/Pages
aspxファイルの正確なパスに一致するようにパスを変更しようとしましたが、まだ喜びはありません!!
問題 2
上記の問題のため、URL 経由で UILogon と ReportManager にアクセスしようとしましたhttp://localhost/Reports_MSSQL2008/Pages/UILogon.aspx
。これは、カスタム コード (UILogon.aspx.cs および IAuthorisation / IAuthentication コード) にステップ インするという点で機能し、次のように実行されていることがわかります。
- ユーザーの認証/承認
- クッキーの作成
- 応答/要求 Cookie コンテナに Cookie (sqlAuthCookie) を格納する
- /Folder.aspx ページへの response.redirect の実行
問題は、response.redirect が GetUserInfo() メソッドに戻ると、HttpContext.Current.User が null になり、Cookie がなくなることです。このため、null IIdentity が返され (他のものに設定できません!!)、SSRS はエラーをスローします...
Microsoft.ReportingServices.Diagnostics.Utilities.AuthenticationExtensionException:
認証拡張機能が予期しない例外をスローしたか、無効な値を返しました: identity==null.
情報については、レポート ビルダー/Visual Studio bi proj/Web サービス URL を起動すると、必要なことを正確に実行し、正常に動作します...問題を引き起こしているのはレポート マネージャーだけです。
asp.net-mvc - sqlrole マネージャーは、接続文字列やプロバイダーを動的に追加します
ロール マネージャーに接続文字列を動的に追加するにはどうすればよいですか?
フォーム認証でasp.net mvc 3を使用しています。これはSAASアプリであるため、各クライアントの接続文字列が動的に変更されるため、動的接続文字列に基づいて新しいデータコンテキストを作成できますが、ロールに同じ接続文字列を提供する方法はありますか?マネジャー?
現在、rolemanger は次のように web.config を使用して構成されています (実際のファイルではなく例のみ)
windows-phone-7 - Windows Phone 7 - Asp.net フォーム認証による認証
すべてをクリアした後、期待どおりに機能しました
Windows phone からの接続で asp.net フォーム認証が機能するようにサービスをセットアップしました...
エミュレーターではすべてが正常に機能しています (ログインへのリモート接続と、その後 cookiecontainer を使用して他のサービス要求を実行します) が、電話にデプロイされると、ログインが正しく完了しますが、他のサービス呼び出しは機能しません。httpcontext .currentuser.authenticated は偽です!
何かご意見は?はい、電話で Cookie を許可し、すべての通話で同じ CookieContainer を使用しています...
.net - WCF を使用してメンバーシップ プロバイダー認証を実行する方法は?
ASP.NET アプリケーションを拡張して、WCF を使用して Web サービスを提供しています。アプリケーションがユーザーのセッションを追跡できるように、WSHttpContextBinding を使用する必要があります。今のところ認証なしでサイトへの接続に成功していますが、セキュリティが欲しいです。現在、フォーム認証を使用して保護されている管理フォルダー内に service.svc を配置したいと考えています。現在、service.svc をそこに置き、service.svc の URL を入力しようとすると、標準の Windows 認証ダイアログが表示されます。これに関するいくつかの記事を読みましたが、どれもかなり混乱しています。
asp.net - ASP.NET フォーム認証チケットの暗号化/作成にはどのような入力が必要ですか?
私が読んだものはすべて、web.config ファイルの MachineKey 要素が暗号化されたチケットの値を決定する唯一のものであることを示していますが、現時点ではそれと矛盾する多くの証拠があります。
私の質問は、マシン キーとチケット内のデータが同一であるとすれば、チケットの暗号化値 (特に長さ) が異なる理由は何ですか?
編集
タイムスタンプの結果として、値の変化が見られます。ただし、ある環境では、作成された値自体がはるかに短くなります。2 つのサイト (.NET 4、MVC2/3) は問題なく対応しています。ただし、.NET 2.0 / WebForms サイトは、同じマシン キーで復号化できません。