ログインフォームを作成しました。ログインが成功した場合、ユーザーを管理パネルにリダイレクトしようとしています。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.";
}
}