[解決済み] FormsAuthentication.SetAuthCookieは何をするのですか?
質問
createuserwizard コントロールを使用しています。CreatedUserイベントで、ユーザーをロールに追加するために、次のコードを配置しました。
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
if (!Roles.IsUserInRole("Test"))
{
var User= Membership.GetUser();
Roles.AddUserToRole(User.UserName, "Test");
}
string continueUrl = RegisterUser.ContinueDestinationPageUrl;
if (String.IsNullOrEmpty(continueUrl))
{
continueUrl = "~/";
}
Response.Redirect(continueUrl);
}
も知りたいところです。
FormsAuthentication.SetAuthCookie(RegisterUser.UserName, false /* createPersistentCookie */);
の意味と用途、そしてなぜ
Membership.GetUser()
は null です。
解決方法は?
をお持ちですか?
LoginCreatedUser="false"
または
DisableCreatedUser="true"
を追加しました。
CreateUserWizard
?
これらは、ユーザーがすぐにログインできないようにするもので、その結果
Membership.GetUser()
は、現在ログインしていないため、null を返します。
すぐにでもログインさせたい場合は、どちらか一方または両方の
LoginCreatedUser="true"
と
DisableCreatedUser="false"
を使用します。
CreateUserWizard
. これで、現在のコードが動作するようになります。
FormsAuthentication.SetAuthCookie()
は、ユーザーのセッションを開始するために、ブラウザのクッキーを設定します。これは、ページがサーバーに投稿されるたびに、ユーザーのログインを維持するものです。
createPersistentCookie
は、ブラウザを閉じても失効しない永続的なクッキーを作成し、ユーザーがサイトに戻ると自動的にログインできるようにします。これは、ユーザーがログイン・フォームの "Remember me" チェックボックスをチェックしたかどうかに基づいているはずです。これは
CreateUserWizard
フォームにチェックボックスを追加することができます。
自動でログインさせたくない場合は
FormsAuthentication.SetAuthCookie()
の行を追加し
CreateUserWizard
プロパティを適切に設定します。ユーザがログインする前に承認したい場合は
DisableCreatedUser="true"
. を設定するまで、ログインできないようにします。
IsApproved=true
を、IIS マネージャーの .Net Users モジュール、または独自のカスタム Web ページで使用して、ユーザーを承認することができます。
ユーザーをログインさせることなく、ユーザー作成時に適切なロールに追加するように設定することができます。
if (!Roles.IsUserInRole(RegisterUser.UserName, "Test"))
{
Roles.AddUserToRole(RegisterUser.UserName, "Test");
}
関連
-
[解決済み] ファイルまたはアセンブリ 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform' を読み込むことができませんでした。
-
[解決済み] System.Web.HttpException (0x80004005) のトラブルシューティング方法です。ファイルが存在しません" のトラブルシューティングは?
-
[解決済み] ASP.NetにおけるTransferRequestとTransferの比較
-
[解決済み] 複数行のテキストボックスの複数改行
-
[解決済み] "システムが指定されたファイルを見つけられませんでした"
-
[解決済み] ORA-04067: 実行されませんでした、パッケージ本体が存在しません。
-
[解決済み] HttpContext.Current.Cacheはすべてのセッションで利用可能か?
-
EntityFramework のエラーです。エンティティタイプXXXは、現在のコンテキストのモデルの一部ではありません。
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み】XKCDコミック「Bobby Tables」のSQLインジェクションはどのように動作するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ファイルまたはアセンブリ 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform' を読み込むことができませんでした。
-
[解決済み】ASP.NETとWeb Tools 2015のインストール後、Visual Studioエラー「オブジェクトの参照がオブジェクトのインスタンスに設定されていません」が発生する。
-
[解決済み] レイアウトページ"~/Views/Shared/_Layout.cshtml "では、以下のセクションは定義されていますが、レンダリングは行われていません。"スクリプト"
-
[解決済み] キーワードがサポートされていないデータソース
-
[解決済み] ASP.NETでページを更新するにはどうすればよいですか?(コードで勝手に再読み込みさせる)。
-
[解決済み] IISでVirtual Directoryがアプリケーションとして設定されない
-
[解決済み] ASP.Net MVC - リソースが見つかりませんエラー
-
[解決済み] ASP.NETのボタンに画像を追加することはできますか?
-
[解決済み] このコンテキストでは、リクエストは利用できません
-
[解決済み] リンクボタンでjQueryコール__doPostBack