我做了一個web應用程序,我想在管理員和管理員的modcp管理員的admincp登錄。 這是一個登錄頁面代碼:登錄代碼重定向不起作用
protected void btnOk_Click(object sender, EventArgs e)
{
try
{
string user_n = txtUser.Text;
string pass_n = txtPass.Text;
Int32 res = 0;
DAL.DAL log = new DAL.DAL();
res = log.login_user_form(user_n, pass_n);
if (res == 1)
{
if (user_n == "admin")
{
Response.Redirect("manage/AdminPage.aspx");
}
else
{
Response.Redirect("modcp/defult3.aspx");
}
}
else
{
lblRes.Text = "error username or password";
}
}
catch (Exception ex)
{
lblRes.Text = ex.ToString();
}
}
和DAL層的代碼:
public Int32 login_user_form(String username, String password)
{
int res = 0;
con = new SqlConnection(strcon);
SqlCommand cmd = new SqlCommand("EXEC chek_user '" + username + "' , '" + password + "'", con);
try
{
con.Open();
if (cmd.ExecuteScalar() == null)
{
res = 0;
}
else
{
res = 1;
}
con.Close();
}
catch (SqlException)
{
throw;
}
return res;
}
,這是我的存儲過程:
@username nvarchar(50) , @password nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
SELECT username_l1 , password_l1
FROM user_L1
WHERE username_l1 = @username AND password_l1 = @password
END
這個鱈頁login.aspx的在沒有這條線的工作中:
Response.Redirect("manage/AdminPage.aspx");
如果我清除該代碼,並寫:
txtPass.Visible = false;
lblRes.Text = "mesesege";
也就是說工作corect但沒有Response.Redirect的,它不?
(我不知道如何對級別的訪問權限的工作絲毫會話)
您是否考慮過使用ASP.NET成員提供程序而不是自己滾動? http://www.asp.net/web-forms/tutorials/moving-to-aspnet-20/membership – BStateham
所以,如果用戶名是admin,你沒有檢查密碼?我想我看到一個安全漏洞。 – zimdanen
請詳細說明發生了什麼問題。 – citronas