0

Web サイトのユーザーを管理するために ASP.NET メンバーシップを使用しています。ただし、特定の「ログイン コントロール」を使用しない場合。実際には、ユーザー アカウントの作成とユーザー ログインのために、Membership クラス メソッドを適用するだけです。一方、Site.Master には、'Welcome Username' タスクを担当する LoginView コントロールがあります。問題は、新しいアカウントまたはログインを作成した後、LoginView コントロールが更新されないことです。特定のログイン コントロールを確実に使用する必要がありますか?

----また、ログインボタンの CommandName を 'Login' に設定しました! ----Create User Button にそのようなものを設定する必要がありますか?

助けていただければ幸いです...

以下は、ログイン用の私のコードです。

if (!Membership.ValidateUser(HttpUtility.HtmlEncode(txtUserName.Text), HttpUtility.HtmlEncode(txtPass.Text)))
        {
            lblResult.Text = "Invalid user name and password.";
            lblResult.Visible = true;
        }
        else
        {
            Response.Redirect("~/Default.aspx");
        }

そしてここに登録コード:

MembershipCreateStatus statusUser;

        try
        {
            Membership.CreateUser(HttpUtility.HtmlEncode(txtUserName.Text), HttpUtility.HtmlEncode(txtPass.Text), HttpUtility.HtmlEncode(txtEmail.Text), ddlSexQues.SelectedValue != "-1" ? ddlSexQues.Text : string.Empty, txtSecAnsw.Text == string.Empty ? string.Empty : txtSecAnsw.Text, true, out statusUser);

            txtEmail.Text = string.Empty;
            txtPass.Text = string.Empty;
            txtRepass.Text = string.Empty;
            txtSecAnsw.Text = string.Empty;
            txtUserName.Text = string.Empty;
            ddlSexQues.SelectedValue = "-1";

            lblRsl.ForeColor = Color.Green;
            lblRsl.Text = "حساب کاربری شما با موفقیت ایجاد شد.";
            lblRsl.Visible = true;
        }
        catch (MembershipCreateUserException error)
        {
            lblRsl.Text = GetErrorMessage(error.StatusCode);
            lblRsl.Visible = true;
        }
4

1 に答える 1

0

独自のログイン コードを使用している場合は、たとえば応答に Cookie を追加して、ユーザーの認証情報を保持する必要があります。組み込みのコントロールはこれを自動的に行います。

フォームベースの認証を使用していると仮定しています。フォーム認証の .NET セキュリティ クラスへの参照がここにあります。ここでは、利用可能なオプションについて詳しく説明しています。

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication%28v=vs.100%29.aspx

特に メソッドSetAuthCookieとメソッドを見てください。RedirectFromLoginPage

私が知る限り、CommandNameプロパティはコード内の Button コントロールを区別するためのものです。ユーザーの作成を処理するために独自のメソッドを使用しているため、独自のコントロールに追加する必要はないと思います。詳細はこちら:

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication%28v=vs.100%29.aspx

于 2013-05-09T15:00:57.450 に答える