Это зависит немного от вашего точного определения для , отслеживающего онлайн-пользователей, но при условии его легкого определения вы можете выполнить это, введя точно, что вы сказали, что у вас еще нет; сессий.
В условиях аутентификации ваше приложение ASP.NET MVC действует как сервер идентификации/авторизации (IP/AS), но это не значит, что он не может или не должен иметь представление о сеансе. Обычно сеансы являются обычной практикой в IP/AS, потому что таким образом они могут обеспечить единый вход для приложений, которые полагаются на них.
Например, как Google, так и Facebook действуют как IP/AS для других приложений, и оба они поддерживают сеансы. Вы можете утверждать, что в двух случаях они делают гораздо больше, чем просто действуют как IP/AS, поэтому сеансы должны быть.
Однако поставщики, ориентированные только на службы аутентификации и авторизации, также полагаются на сеансы. Например, Auth0 uses sessions as a way to provide the single sign-on experience, о котором я упоминал ранее.
Внедряя сеансы, вы должны иметь возможность поддерживать список онлайн-пользователей, прошедших проверку подлинности, с точки зрения IP/AS. Большой вопрос в том, действительно ли это то, что хотят ваши бизнес-пользователи, когда говорят отслеживать онлайн-пользователей.
Раскрытие: Я инженер Auth0.
Update:
Что касается фактического осуществления сессии, это зависит от требований, но традиционный подход к стороне клиента печенья и на стороне сервера длительного хранения должны сделать трюк. Его не нужно интегрировать с ASP.NET Identity, вам просто нужно отслеживать, что определенный идентификатор пользователя (через его уникальный идентификатор пользователя) имеет активный сеанс; когда они аутентифицируются.
Тогда возникает проблема принятия решения о завершении этого сеанса, это часть, которая будет в основном зависеть от точных требований.Это может быть так же просто, как пользователь также переходит к IP/AS для выхода из системы или более сложным, если вы хотите запустить единый вход из другого приложения.
В отношении жетонов вы также можете рассмотреть возможность отмены токенов обновления после окончания сеанса (выход из системы). Таким образом, есть много движущихся частей и вещей для реализации.
Если вы еще не сделали это уже вы должны также проверить:
является «ярус» просто хорошее имя для менеджеров по продажам, требующих функции? – trailmax