مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

رفتن به login بعداز یک دقیقه کار نکردن با سایت

  • یکشنبه 13 تیر 1395
  • 12:14
تشکر میکنم

با سلام.

من از identity استفاده می کنم و برای لاگین از کد پیش فرض mvc استفاده می کنم.

کد زیر رو برای رفتن به لاگین پس از یک دقیقه کار نکردن با سایت نوشتم:

 <sessionState mode="InProc" timeout="1"/>
    <authentication mode="Forms">
      <forms cookieless="AutoDetect" protection="All" slidingExpiration="true" loginUrl="~/Account/Login/" timeout="1"></forms>
    </authentication>

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

با توجه به وجود user.identity دیگر چه نیازی به تعریف session می باشد؟

لطفا راهنمایی نمایید

با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 13 تیر 1395
  • 14:59

شما زمان لاگین بودن را روی 1 دقیقه گذاشتید

زمان را بیشتر کنید

timeout="1"

 

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 13 تیر 1395
  • 17:30

استاد مقدار را به 2 تغییر دادم و نشد

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 13 تیر 1395
  • 17:44

اون مقدار براساس دقیقه است

روی 43200 ست کنید

یعنی حدودا یک ماه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 13 تیر 1395
  • 17:46

استاد می خوام چکش کنم

یک ماه که نمیشه

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • یکشنبه 13 تیر 1395
  • 20:04

استاد محترم.

فکر می کنم با آمدن identity گزینه های ssesion state و authentication در webconfig دیگر کارایی خود را از دست داده اند. در فایل Startup.Auth.cs و در قسمت  app.UseCookieAuthentication مانند زیر این تنطیمات انجام می شود:

app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
                Provider = new CookieAuthenticationProvider
                {
                    // Enables the application to validate the security stamp when the user logs in.
                    // This is a security feature which is used when you change a password or add an external login to your account.  
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(2),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                },
                ExpireTimeSpan = TimeSpan.FromMinutes(2)
            });     

 

با تنظیم ExpireTimeSpan می توان timeout مربوط به identity را انجام داد.

آیا این گفته درست است که این فایل جایگزین کدهای مربوطه در webconfig شده است؟

سؤال دومم این است که در کدهای بالا تفاوت validateInterval و ExpireTimeSpan چیست؟

لطفا راهنمایی نمایید

با تشکر

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 14 تیر 1395
  • 06:57

بله درسته

چون  Identity بر اساس Owin کار میکنه

ExpireTime زمان انقضا کوکی هست

Validateهم میزان اعتبار سشن هست اگر اشتباه نکنم

کاربر سایت

ofoghcomputer

عضویت از 1393/07/15

  • دوشنبه 14 تیر 1395
  • 17:45

با تشکر

استاد می خوام وقتی ExpireTimeSpan تموم شد به صفحه login بره.

لطفا راهنمایی کنید

با تشکر

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)