2016-02-08 4 views
0

В настоящее время я ищу технику создания именованной системы пользовательских лицензий с asp.net mvc. Например, клиент купил 10 пользовательских лицензий, он должен быть возможен, чтобы войти в систему 10 раз параллельно.Техника для реализации пользовательской лицензии в asp.net mvc

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

Или есть хорошо известная и хорошая альтернатива?

спасибо!

+0

Лицензия на основе одновременных активных сеансов? –

+0

Не можете ли вы просто сохранить количество активных сеансов? –

+0

Связанный/возможный дубликат [Список всех активных сеансов ASP.NET] (http://stackoverflow.com/q/1470334/993547). –

ответ

0

Возможное решение (которое может быть или не быть правильным для вас) заключается в том, чтобы хранить количество сеансов, которые пользователь имеет в настоящее время, и разрешено иметь в двух столбцах в вашей базе данных.

Предположим, что у вас есть функции login(username, password) и logout(username), или что-то подобное. Затем вам понадобится два новых столбца в базе данных, один из которых хранит максимальное количество сеансов, которое может иметь пользователь, например. maxSessions, другой, содержащий текущее количество сеансов, которое пользователь имеет, например. curSessions.

Теперь вы можете проверить при каждом звонке login(username, password), если пользователь достиг максимально допустимых сеансов и отказывает в доступе к вашему сервису. Если он этого не сделал, добавьте 1 к curSessions, затем запустите свой другой код входа. Если вызывается logout(username), удалите 1 из curSessions и запустите свой код выхода.

Если я правильно понял ваш вопрос, это то, что вы искали.