PDA

View Full Version : سوال: بازگشت به صفحه login بعد از 20 دقیقه بیکاری



mahsa.n
چهارشنبه 12 بهمن 1390, 09:49 صبح
سلام

من دو تا پوشه en و fa دارم که توی هر کدوم از این پوشه ها صفحه login.aspx دارم

من این کد رو در web.config ریشه سایت قرار دادم



<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/fa/login.aspx" protection="All" timeout="20" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" />
</authentication>


برای صفحات فارسی اگر کاربر 20 دقیقه کاری نکنه وارد صفحه fa/login میشه

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

لطفا کمک کنید

hamid_shrk
چهارشنبه 12 بهمن 1390, 10:23 صبح
اگه این کار رو خودتون انجام بدید بهتره ، یعنی تو لود صفحتون چک کنید که اگه سشن تموم شده بود با توجه به زبان سایت اون رو هدایت کنید به صفحه نخست.

mahsa.n
چهارشنبه 12 بهمن 1390, 13:26 عصر
نام سشن رو از کجا تعیین کنم؟ نام پیش فرض داره؟

hamid_shrk
چهارشنبه 12 بهمن 1390, 13:53 عصر
خوب شما از په روشی واسه ورود استفاده میکنید؟
از login خود دات نت استفاده میکنید؟

alonemm
چهارشنبه 12 بهمن 1390, 14:10 عصر
میتونید از یک صفحه میانی برای انتقال استفاده کنید و بسته به نوع زبان به پوشه و صفحه مورد نظر هدایت شید.

mahsa.n
چهارشنبه 12 بهمن 1390, 14:24 عصر
خوب شما از په روشی واسه ورود استفاده میکنید؟
از login خود دات نت استفاده میکنید؟

بله

در واقع من سشن ها رو توی بانک میریزم


<sessionState mode="SQLServer" cookieless="UseCookies" timeout="20" allowCustomSqlDatabase="true"
sqlConnectionString="Data Source=PC5\SANASITE;Initial Catalog=dbsession;user id=*;password=*"
cookieName="ASP.NET_SessionId" regenerateExpiredSessionId="false" />


بعد توی page_load صفحات مدیریت فارسی کد زیر رو نوشتم


if (Session["ASP.NET_SessionId"] == null)
{
Response.Redirect("~/fa/login.aspx");
}

ولی مقدار Session["ASP.NET_SessionId"] رو قبل از 20 دقیقه نال برمیگردونه ، پس لابد اسمش رو اشتباه وارد کردم

hamid_shrk
چهارشنبه 12 بهمن 1390, 14:38 عصر
از این دستور استفاده کنید:

if (Page.User.Identity.IsAuthenticated==false)
{
Response.Redirect("../login.aspx");
}

mahsa.n
چهارشنبه 12 بهمن 1390, 15:23 عصر
از این دستور استفاده کنید:

if (Page.User.Identity.IsAuthenticated==false)
{
Response.Redirect("../login.aspx");
}



وقتی سشن timeout میشه اصلا اجازه نمیده که page_load بشه تا بخوام کد بالا رو اجرا کنم ، میپره به صفحه login.aspx

hamid_shrk
چهارشنبه 12 بهمن 1390, 15:41 عصر
خوب شما باید اون خط کد رو از وب کانفیگ حذف کنید تا بتونید سشن رو handle کنید

mahsa.n
چهارشنبه 12 بهمن 1390, 15:54 عصر
نمیشه :گریه:
اینو


<forms name=".ASPXAUTH" protection="All" timeout="20" path="/" requireSSL="false"

slidingExpiration="true" cookieless="UseDeviceProfile" />

پاک کردم باز میپره به http://localhost:2082/SanaPishro_Site/login.aspx?ReturnUrl=%2fSanaPishro_Site%2fen%2fuse rfolder%2forder.aspx

نمیدونم از کجا میاره این آدرسو