2015-09-28 7 views
0

Я собираюсь создать один веб-сервис в .Net. Этот веб-сервис будет использоваться в приложении winform, веб-приложении и мобильных приложениях.токен веб-сервиса для нескольких учетных записей

Я хочу защитить этот веб-сервис, используя токен.

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

Теперь проблема с этой архитектурой заключается в том, что каждый успешный вход в систему изменяет токен, и если другой логин с такими же учетными данными останавливает предыдущий успешный вход в систему. Я хочу разрешить несколько логинов с одинаковыми учетными данными.

Пожалуйста, предложите мне хорошее решение этой проблемы.

Благодаря

ответ

0

Первого, что всплывающий в моем уме, чтобы проверить вашу базу данных для существующих маркеров, а затем, если есть уже сформирован, который вы должны вернуть его. Но я не знаю, насколько это хорошо. Идентификатор ASP.NET работает над протоколом OAuth2, который подобен.

Войти с учетными данными пользователя, не имеет значения, с какого устройства создается токен доступа, который получил время истечения. Если вы попытаетесь войти в систему, пока этот токен все еще действителен, вы всегда получаете этот токен.

Мое предложение состоит в том, чтобы использовать предоставленную идентификацию и просто расширить ее. Если вы делаете код сначала, вы можете расширить IdentityUser, добавить дополнительные свойства и создать все таблицы, необходимые для вашего приложения. Вот некоторые полезные ссылки:

OAuth2 official page

Token Based Authentication using ASP.NET Web API 2, Owin, and Identity

Я надеюсь, что я помог

Смежные вопросы