سلام
چطوری میشه در صورتی که کاربر از سیستم و به تبع آن از سایت استفاده نکرد View مربوط به پایان نشست رو فراخوانی کرد.
باتشکر
همونطوری که fateme هم گفت خیلی کلی و بدون جزییات سوال رو طرح کردید. به طور کلی میشه گفت میتونید از طریق جاوا اسکریپت کنترل کنید اگر کاربر برای چند دقیقه یا چند ساعت هیچ کاری نکرد (مثلا صفحه اسکرول نخورد) یه پیام به سرور بفرسته و Session ها رو ببنده. به طور کلی اینجوری میشه کرد.
اگر کاری کردید یا کدی نوشتید قرار بدید تا بشه بررسی کرد.
ببینید معمولا تا اونجایی که بنده دیدم اگر امنیت برای سیستم مهم باشه وقتی کاربر مرورگر رو میبنده Session رو حذف میکنن. یعنی کاربر هر بار که مرورگر رو باز میکنه باید نام کاربری و رمزعبور رو مجدد بزنه. شما میتونید توسط جی کوئری هم این مورد رو کنترل کنید ولی یه سری مشکلاتی هم داره که در ادامه میگم خدمتتون.
اگر شما از Identity در Asp.net Core استفاده می کنید برای لاگین از دستور زیر استفاده باید کنید :
await _signInManager.PasswordSignInAsync(model.UserName, model.Password, isPersistent : true, lockoutOnFailure: false);
همونطوری که می بینید isPersistant رو true قرار دادیم. اگر false کنیم باعث میشه به محض بسته شدن مرورگر کاربر Session یا همون نشست مربوط به لاگین از بین بره و کاربر دوباره باید نام کاربری و رمز عبور وارد کنه.
اما اگر میخواید خود مرورگر رو کنترل کنید کمی جریان متفاوته چون این موضوع سمت کلاینت میشه. کنترل کردن سمت کلاینت برای امنیت هم به طور عادی و با دستورات جی کوئری زیاد منطقی نیست چون اطلاعات در کلاینت رو کاربر میتونه به راحتی ببینه و تغییر بده و یا حتی غیر فعال کنه. ولی با دستورات زیر میتونید کنترل کنید که مرورگر تغییری داشته یا نه. (بازم میگم برای امنیت استفاده نکنید بهتره)
var isTabActive;
window.onfocus = function () {
isTabActive = true;
};
window.onblur = function () {
isTabActive = false;
};
// test
setInterval(function () {
console.log(window.isTabActive ? 'active' : 'inactive');
}, 1000);
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
58
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
98
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/07/09
- ساعت :
07:25:00 PM
- بازدید :
266
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
58
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
98
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|