Ali_M.Eghbaldar
سه شنبه 29 مرداد 1392, 17:10 عصر
سلام دوستان :قلب:
همیشه نوشتن وبسایت های کوچیک کار ساده ای بنظر میاد
چون که بازدید زیادی نداره و مسلما پردازش زیادی روش صورت نمیگیره
اما وقتی کار بزرگ باشه و به التبع بازدیدکنندگانش زیاد باشن ، اون وقت مشکللاتی پدید می آید که کمی مدیریت سخت میشه
یکی از اون موارد لاگین کاربر هاست ...
من برای پروژه ای از روش زیر استفاده کردم که گاهی با خطای خالی بودن Session روبرو میشم ، البته اینو هم بگم که local درست کار میکنه
ولی در کل میخوام نظر دوستان در مورد این روش جویا شم که اگه مشکلی داره رفع بشه و یا اگر بهتر میشه نوشت اصلاحش کنم ... ممنون میشم که مشارکت کنید ... :چشمک:
1) اول اینکه جدولی دارم که user/pass داخلش و موقع لاگین چک می کنم و اگه همخوانی داشت میره مرحله بعد
2) اگر تیک remember داشت
If chkRemember.Checked Then
Dim c As New HttpCookie("DotCom", txtEmail.Text)
c.Expires = DateTime.Now.AddYears(1)
Context.Response.Cookies.Add(c)
End If
که این کوکی فقط هنگام ورود وجود استفاده می شود ونه صفخات بعدی
3) سپس session اصلی سایت ، که تقریبا تمام اقدامات بانکی و غیر بانکی با اون انجام میشه ، اینطوری پر میشه
Session("MY") = txtEmail.Text
4) بعد میام برای اینکه در هر لحظه صلاحیت کاربر بررسی کنم از دستور زیر استفاده میکنم
FormsAuthentication.SetAuthCookie(txtEmail.Text, True)
5) و در انتها ورود می کنم به صفحه کاربری
چنتا نکته :
1* سیشن MY در تمام صفحاتی که به بانک متصل است داره use میشه
2* در directory ها از web.config زیر استفاده میکنم که بوسیله FormsAuthentication (شماره 4 فوق) صلاحیت کاربر بررسی میکنه
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
</system.web>
<location path="Default.aspx">
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
3* در فایل web.config مادر با کد زیر صلاحیت فوق بررسی شده و در صورت خالی بودن و یا عدم صلاحیت سیشن به صفحه اول منتقل میشه
<authentication mode="Forms">
<forms loginUrl="~/default.aspx" name=".ASPXFORMSAUTH"/>
</authentication>
سوالات :
1) اشکالات روش بالا چیست؟
2) روش جایگزینی وجود دارد؟
3) نظر شما در مورد استفاده کوکی بجای روش بالا چیست؟
4) سایت هایی با بازدید بالا همچون google و یا facebook از چه روش هایی استفاده می کنند؟
همیشه نوشتن وبسایت های کوچیک کار ساده ای بنظر میاد
چون که بازدید زیادی نداره و مسلما پردازش زیادی روش صورت نمیگیره
اما وقتی کار بزرگ باشه و به التبع بازدیدکنندگانش زیاد باشن ، اون وقت مشکللاتی پدید می آید که کمی مدیریت سخت میشه
یکی از اون موارد لاگین کاربر هاست ...
من برای پروژه ای از روش زیر استفاده کردم که گاهی با خطای خالی بودن Session روبرو میشم ، البته اینو هم بگم که local درست کار میکنه
ولی در کل میخوام نظر دوستان در مورد این روش جویا شم که اگه مشکلی داره رفع بشه و یا اگر بهتر میشه نوشت اصلاحش کنم ... ممنون میشم که مشارکت کنید ... :چشمک:
1) اول اینکه جدولی دارم که user/pass داخلش و موقع لاگین چک می کنم و اگه همخوانی داشت میره مرحله بعد
2) اگر تیک remember داشت
If chkRemember.Checked Then
Dim c As New HttpCookie("DotCom", txtEmail.Text)
c.Expires = DateTime.Now.AddYears(1)
Context.Response.Cookies.Add(c)
End If
که این کوکی فقط هنگام ورود وجود استفاده می شود ونه صفخات بعدی
3) سپس session اصلی سایت ، که تقریبا تمام اقدامات بانکی و غیر بانکی با اون انجام میشه ، اینطوری پر میشه
Session("MY") = txtEmail.Text
4) بعد میام برای اینکه در هر لحظه صلاحیت کاربر بررسی کنم از دستور زیر استفاده میکنم
FormsAuthentication.SetAuthCookie(txtEmail.Text, True)
5) و در انتها ورود می کنم به صفحه کاربری
چنتا نکته :
1* سیشن MY در تمام صفحاتی که به بانک متصل است داره use میشه
2* در directory ها از web.config زیر استفاده میکنم که بوسیله FormsAuthentication (شماره 4 فوق) صلاحیت کاربر بررسی میکنه
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
</system.web>
<location path="Default.aspx">
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
3* در فایل web.config مادر با کد زیر صلاحیت فوق بررسی شده و در صورت خالی بودن و یا عدم صلاحیت سیشن به صفحه اول منتقل میشه
<authentication mode="Forms">
<forms loginUrl="~/default.aspx" name=".ASPXFORMSAUTH"/>
</authentication>
سوالات :
1) اشکالات روش بالا چیست؟
2) روش جایگزینی وجود دارد؟
3) نظر شما در مورد استفاده کوکی بجای روش بالا چیست؟
4) سایت هایی با بازدید بالا همچون google و یا facebook از چه روش هایی استفاده می کنند؟