Выход из системы пользователей, прошедших проверку подлинности в нескольких местах программным способом в Sharepoint 2010 - PullRequest
1 голос
/ 15 октября 2011

Я хотел бы знать, как программно выйти из системы в Sharepoint, если он или она пытается войти из другого места.

Спасибо.

1 Ответ

0 голосов
/ 10 ноября 2011

Под другим местоположением вы имеете в виду попытку входа на 2 разных устройства?

Так что, если я вошел в систему на своем компьютере, а затем попытался войти на своем телефоне, телефон не сможет войти в систему иследует выйти из системы?

Если это правильно, то:

При запуске сеанса пользователя

  • , если пользователь уже вошел в систему, выйдите из него
  • сохранить информацию для входа (IPAddress) в состояние БД или приложения
if (System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] != null)
{
    System.Web.HttpContext.Current.Response.Redirect("http://<server>/_layouts/SignOut.aspx");
}
else
{
    System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] = System.Web.HttpContext.Current.Request.UserHostAddress;
}

В конце сеанса пользователя

  • удалить информацию для входа (IPAddress) изСостояние БД или приложения
if (System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name] != null && System.Web.HttpContext.Current.Request.UserHostAddress != System.Web.HttpContext.Current.Application[System.Web.HttpContext.Current.User.Identity.Name])
{
    System.Web.HttpContext.Current.Application.Remove(System.Web.HttpContext.Current.User.Identity.Name);
} 

Вы можете столкнуться с проблемой, если у вас длинный тайм-аут сеанса и вы попытаетесь подключиться к другому устройству до того, как исходный сеанс будет уничтожен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...