0

ログインフォームを作成しました。ログインが成功した場合、ユーザーを管理パネルにリダイレクトしようとしています。PHP では、ASP.Net で Response.Redirect() と同じようにリダイレクトしていましたが、ログイン フォームに DestinationPageUrl プロパティがあることがわかりました。ログインが成功した場合、これをトリガーするにはどうすればよいですか? 私はMySQLを使用しています。

ログインイベントのコードは次のとおりです。

        protected void loginform_Authenticate(object sender, AuthenticateEventArgs e)
    {
        string username = loginform.UserName.ToString();
        string password = loginform.Password.ToString();
        List<string> errors = new List<string>();
        Regex rg = new Regex("^[a-z0-9_-]{3,16}$");

        if (String.IsNullOrWhiteSpace(username))
        {
            errors.Add("Username is empty\n");
        }
        else if (!rg.IsMatch(username))
        {
            errors.Add("Username can only contain alphanumeric letters, - and _\n");
        }

        if (String.IsNullOrWhiteSpace(password))
        {
            errors.Add("Password is empty\n");
        }

        string queryRows = "SELECT COUNT(*) FROM users WHERE username = ? AND password = ?";
        Database db = new Database();
        MySqlCommand cmd = new MySqlCommand(queryRows, db.getCon());

        cmd.Parameters.AddWithValue("", username);
        cmd.Parameters.AddWithValue("", password);
        db.Open();
        object result = cmd.ExecuteScalar();
        db.Close();

        int numRows = 0;

        if (result != null)
        {
            numRows = Convert.ToInt32(result);
        }

        if (numRows > 0)
        {
            Response.Redirect("~/admin/Admin.aspx");

        }
        else
        {
            loginform.FailureText = "<br /><br />User credentials are invalid.";
        }
    }
4

1 に答える 1

0
The DestinationPageUrl property specifies the page that is displayed when a 

ログイン試行は成功です。Login コントロールの既定の動作は、ユーザーを参照ページ、または Web.config ファイルのフォーム要素の defaultUrl 属性で定義されたページに戻すことです。

詳細については、このリンクを参照してください。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.destinationpageurl.aspx

于 2013-07-11T13:43:50.423 に答える