PDA

View Full Version : سوال: مشکل در هنگام لاگین



Milo_22
چهارشنبه 20 دی 1391, 19:57 عصر
با سلام
من یک وب اپلیکشن ایجاد کردم که می خوام در اون دو تا سطح از دسترسی داشته باشم. اصلا بلد نیستم با session ها چطوری کار کنم برای همین اینطوری کد نوشتم :


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 = "نام کاربری و یا کلمه عبور صحیح نمی باشد";
}
}
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


حالا من نمی دونم چرا این خط کد اصلا اجرا نمیشه :

Response.Redirect("manage/AdminPage.aspx");

اگر من بیام به جای این خط اینطوری بنویسم :


txtPass.Visible = false;
lblRes.Text = "شما با نام admin وارد شده اید";


درست کار می کنه کدم ولی نمی دونم چرا وقتی می خواد بره یک صفحه دیگه اصلا این کار رو انجام نمیده.

تو وب کانفیگ شاخه manage هم اینطوری نوشتم :

<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>


یعنی قبلا کلی کد نوشته بودم ولی همش رو پاک کردم فقط به همین بسنده کردم ،

اینم وب کانفیگ ریشه :

<authentication mode="Forms">
<forms loginUrl="Login.aspx">
</forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>



ممکنه لطفا راهنمایی بدین ؟ سپاسگذارم ...

m_akbari11
چهارشنبه 20 دی 1391, 20:58 عصر
به نظر بنده از MemberShip خود Asp.net که هم کامل تره و هم این مشکلات و سختی ها رو نداره استفاده کنید و با خیال راحت میتونید Login و تمام موارد مربوط به آن را به (ASp.net (Microsoft بسپارید و با خیال راحت سراغ قسمت های دیگر سایت بروید .

Milo_22
چهارشنبه 20 دی 1391, 21:12 عصر
پروژه واسه ی خودم نیست و الا این کارو می کردم
ضمنا من از اون استفاده کرده بودم با فارسی مشکل داره شایدم من هنوز نمی تونم درست باهاش کار کنم. جالبه همین کد تو برنامه های تک لایه راحت عمل می کنه اینجا چون دو لایه نوشتم اینطوری می کنه :ناراحت: