繁体   English   中英

使用DestinationPageUrl的ASP.Net登录重定向

[英]ASP.Net Login redirect using DestinationPageUrl

我创建了一个登录表单,如果登录成功,我试图将用户重定向到管理面板。 在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.";
        }
    }
 The DestinationPageUrl property specifies the page that is displayed when a 

登录尝试成功。 Login控件的默认行为是使用户返回引用页面或Web.config文件中forms元素的defaultUrl属性中定义的页面。

Jus通过此链接获取更多详细信息:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM