سلام خسته نباشین
مواقعی هست که کاربر در سامانه لاگین میکنه و برای 4 ساعت اتورایز میشه ولی وقتی بعد از 4 ساعت بخواد تغییری انجام بده مجدد باید لاگین کنه ولی خطای 401 میده سامانه و باید به صفحه لاگین به صورت اتومات ریدایرکت کنه ، که نمیکنه
میخواستم ببینم چطور باید اینکار در صورت ارور 401 به صفحه لاگین ریدایرکت کنم
ممنون
builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
}).AddCookie(options =>
{
options.AccessDeniedPath = "/Account/AccessDenied";
options.LoginPath = "/Account/Login";
options.LogoutPath = "/Account/Login";
//options.ForwardAuthenticate = "/Account/TimeOut";
options.ExpireTimeSpan = TimeSpan.FromHours(4);
options.Cookie.IsEssential = true;
options.SlidingExpiration = true;
});
گزاشتم این موضوع رو ولی وقتی زمان به اتمام میرسه و کاربر صفحه رو رفرش میده دیگه ریدایرکت نمیکنه تو صفحه لاگین و ارور 401 میده بعدش کاربر خودش باید به صورت دستی بره تو صفحه ی لاگین
دلیل اینکه بعد از چند دقیقه یا چند ساعت کاربر شما logout میشه پاک شدن session های سرور هست. در واقع در سرورها یا هاست های اشتراکی به دلیل اینکه سایت های زیادی همزمان از سرور در حال استفاده هستن مسیول سرور میاد هر چند ساعت یک بار session ها رو پاک میکنه تا فشار کمتری به سرور هم وارد بشه.
برای رفع این مشکل 2 راه حل هست.
برای اینکه کاربر بعد از unAuthorize شدن به صفحه login هدایت بشه از کد زیر در کلاس startup استفاده کنید:
services
.AddAuthentication()
.AddCookie(options =>
{
options.LoginPath = "/login";
options.LogoutPath = "/logout";
});
من در آموزش انبارداری شرکت کردم نکته اینجاست که پروژه فرانت ما احراز هویت (Authorize) شده و بک ما هم که با استفاده از توکن ساخته شده نکته اینجاست فرانت من هنوز Authorize هست ولی پروژه بک من unAuthorize میشه
و وقتی میخوام صفحه ای رو باز کنم به مشکل Authorize در پروژه بک میخورم حالا میخوام بدون چطور اگه unAuthorize در پروژه بک اتفاق افتاد چطور مجدد تولید توکن کن - مشکل اینجاست که اگه وب سرویس unAuthorize برگردونه به صفحه لاگین ریدایرکت نمیشه و ارور زیر داده میشه
برای حل این مشکل باید کش پاک بشه تا مجدد Authorize انجام شود
نکته : به زمان منقضی شدن توکن و Authorize در 2 سمت فرانت و بک توجه کردم و مثل آموزش گزاشتم
نکته : سرور اختصاصی هست
تاریخ :
1403/09/22
- ساعت :
05:58:00 PM
- بازدید :
35
- پاسخ :
0
|
تاریخ :
1403/09/06
- ساعت :
09:51:00 PM
- بازدید :
161
- پاسخ :
2
|
تاریخ :
1400/07/17
- ساعت :
10:39:00 PM
- بازدید :
2363
- پاسخ :
0
|
تاریخ :
1403/09/05
- ساعت :
06:32:00 PM
- بازدید :
103
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
155
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
186
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1104
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
510
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1403
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4847
- پاسخ :
1
|
تاریخ :
1403/09/22
- ساعت :
05:58:00 PM
- بازدید :
35
- پاسخ :
0
|
تاریخ :
1403/09/06
- ساعت :
09:51:00 PM
- بازدید :
161
- پاسخ :
2
|
تاریخ :
1400/07/17
- ساعت :
10:39:00 PM
- بازدید :
2363
- پاسخ :
0
|
تاریخ :
1403/09/05
- ساعت :
06:32:00 PM
- بازدید :
103
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2062
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
155
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
186
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1104
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
510
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
968
- پاسخ :
1
|