PDA

View Full Version : مشکل با sission و کوکی



saeedzz21
پنج شنبه 01 خرداد 1393, 21:20 عصر
سلام دوستان

من یه سایت دارم و میخوام روی لاگین آماده ویژوال استدیو سیژن و کوکی پیاده کنم و کدهاشو داخل لاگین به اینصورت نوشتم :





HttpCookie coocki = new HttpCookie("Login");
if (Login1.RememberMeSet == true)
{
coocki.Values["UserName"] = Login1.UserName;
coocki.Values["Password"] = Login1.Password;
coocki.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(coocki);
}


Session["username"] = Login1.UserName;
Session["password"] = Login1.Password;
Response.Redirect("index.aspx");



و با این کد به صفحه اول سایتم میره و اونجا بالای صفحه یه لیبل گذاشتم که نامی که باهاش لاگین کردیمو
بهش خوش آمدگویی میگه . حالا مشکل اینجاست که وقتی این کد رو توی لاگین بکار میبرم با هر نام کاربری
وارد میشه و اصلا از دیتابیس چک نمیکنه که آیا چنین کاربری وجود داره یا نه مستقیم به صفحه اول میره و پیغام براش
نمایش داده میشه .
و یه سوال دیگه : چجوری میتونم به طور مثال یه گریدویو دارم که چند تا محصول داخلشه و جلوی هر کدوم یه دکمه
افزودن به سبد خرید هست داخل هر کدوم از این دکمه ها یه سیژن بزارم که اون محصول رو به سبد خریدم اضافه
کنه .

rezaei_y
پنج شنبه 01 خرداد 1393, 21:33 عصر
اینجا رو ببین (http://barnamenevis.org/showthread.php?301742-%D9%88%DB%8C%D8%AF%D8%A6%D9%88%DB%8C-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-membership-%D9%88-%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%81%D8%B1%D8%B3%DB%8C)

saeedzz21
جمعه 02 خرداد 1393, 12:28 عصر
دوست عزیز ممنون آموزش خوبی بود ولی به سیژن و این کاری که من میخوام انجام بگیره اشاره ای نداشت .
دوستان کسی نیست راهنمایی کنه , ممنون میشم .

iceweek
جمعه 02 خرداد 1393, 14:04 عصر
شما باید قبل از این که کد های بالا را اجرا کنی چک کنی یوزر و پسور کاربر درسته یا نه.اشتباه بود به کاربر بگی اشتباهه و اگر دزست بود اون کد ها را اجرا کن

alireza.zahani
جمعه 02 خرداد 1393, 21:47 عصر
کار بالا اشتباست
پیاده سازی کنی امنیت سایتت رو هواست

iceweek
جمعه 02 خرداد 1393, 23:57 عصر
کار بالا اشتباست
پیاده سازی کنی امنیت سایتت رو هواست
کاری که من گفتم؟چرا؟

alireza.zahani
شنبه 03 خرداد 1393, 08:36 صبح
چرا از امنیت خود asp استفاده نمی کنی؟

iceweek
شنبه 03 خرداد 1393, 12:42 عصر
چرا از امنیت خود asp استفاده نمی کنی؟
استفاده نکنه کسی امنیتش روی هواست؟شما چطوی وارد سایت میشی بدون داشتن نام کاربری از روش من؟

salar IT man
شنبه 03 خرداد 1393, 13:12 عصر
سلام .پیشنهاد میکنم در بدترین شرایط از لاگین و احراز هویت پیشفرض استفاده کنی (از جداول خود asp.net) ولی به نظر خود من هم خودتو به این ابزارا محدود نکن . من خودم به این شکل احراز هویت میکنم یوزر هارو :



FormsAuthenticationTicket ticket =
new FormsAuthenticationTicket
(
1,
UserNameTextBox.Text,
DateTime.Now,
RememberCheckBox.Checked? DateTime.Now.AddYears(1):DateTime.Now.AddMinutes(2 ),
RememberCheckBox.Checked,
"",
FormsAuthentication.FormsCookiePath
);


string encryptedCookie = FormsAuthentication.Encrypt(ticket);


HttpCookie authenticationCookie =
new HttpCookie(FormsAuthentication.FormsCookieName, encryptedCookie);


authenticationCookie.Expires = ticket.Expiration;


Response.Cookies.Add(authenticationCookie);


if (new CustomRoleProvider().IsUserInRole(UserNameTextBox. Text, "Admin"))
{
Response.Redirect(Page.GetRouteUrl("Manager"), false);
return;
}


Response.Redirect(FormsAuthentication.GetRedirectU rl
(UserNameTextBox.Text, RememberCheckBox.Checked),false);

salar IT man
یک شنبه 04 خرداد 1393, 11:32 صبح
if (Users.LoginUser(base.Context, UserNameTextBox.Text, PassWordTextBox.Text))
{
FormsAuthentication.SetAuthCookie(UserNameTextBox. Text, RememberCheckBox.Checked);
if (new CustomRoleProvider().IsUserInRole(UserNameTextBox. Text, "Admin"))
{
Response.Redirect(Page.GetRouteUrl("Manager"), false);
return;
}
Response.Redirect(FormsAuthentication.GetRedirectU rl
(UserNameTextBox.Text, RememberCheckBox.Checked), false);
}


این کد هم همون کار پست 9 رو میکنه از اینم میتونید استفاده کنید.این هم تنظیمات web.config:



<authentication mode="Forms">
<forms cookieless="AutoDetect" defaultUrl="~/خانه" loginUrl="~/ورود" requireSSL="false"
timeout="20" slidingExpiration="true" protection="All"/>
</authentication>