Как установить пользовательский c тайм-аут сеанса в asp. net ядре - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь задать пользовательский c тайм-аут сеанса в основном приложении asp. net. Я использовал приведенный ниже код для установки времени ожидания из ConfigureServices в классе запуска.

services.AddSession(options => options.IdleTimeout = TimeSpan.FromHours(8));

Однако это применяется ко всем пользователям приложения. Мое требование - добавить его из контроллера, если пользователь, пытающийся войти в систему, является особым пользователем.

1 Ответ

0 голосов
/ 05 марта 2020

Вы можете создать собственную роль и обработать ее соответствующим образом. Это просто, чтобы дать вам представление о том, как установить текущий сеанс, я рекомендую написать пользовательский DataAttribute или RoleProvider для обработки фактического времени ожидания.

string role=User.Identity.Name;
if (role="admin")
{

 System.Web.HttpContext.Current.Session.Timeout=20;   //which you want 
 according to user type
 } 

else if (role="user")
 {
  System.Web.HttpContext.Current.Session.Timeout=10;   //which you want according to user type
 } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...