Я использую ASP.NET, я использую собственный поставщик аутентификации, который я написал сам, хеширование и соление на месте, поэтому оно должно быть относительно безопасным.Обработка пользовательских сеансов в MVC/ASP.NET
Я также внедрил собственный механизм сеанса аутентификации, который работает следующим образом.
- Пользователь подписывается в веб-приложении, пароль проверяется на данные в mssql db.
- В таблицу «сеансов» вставляется новая строка, она содержит ссылку на пользователя, который вошел в систему, токен аутентификации и дату истечения срока действия.
- Маркер аутентификации возвращается с файлом cookie и хранится на компьютере клиента.
- Маркер аутентификации используется для идентификации пользователя.
Он отлично работает, но я не уверен, что это правильный путь, потому что я вижу потенциальные риски для безопасности, например, если кто-то взломает дБ и изменяет идентификатор пользователя или получает удержание токена авторизации, или я ошибаюсь?
P.S. К сожалению, я не могу использовать встроенную обработку auth/session, потому что наши клиенты просили об этом, плюс мы должны поддерживать другие db-движки, такие как mysql, oracle/etc, поэтому, пожалуйста, не предлагайте этого:
«PS К сожалению, я не могу использовать встроенную обработку авторизации/сеанса, поэтому, пожалуйста, не предлагайте это» - это поможет, если вы объясните, почему вы не можете использовать встроенный материал: см. Http: // blogs.msdn.com/b/oldnewthing/archive/2013/02/06/10391383.aspx – Joe
lol man .. Я обновил свой вопрос :) – jjdev80
Ну, поддерживаются провайдеры ASP.NET/State, Profile и т. д. на [mysql] (http://dev.mysql.com/doc/refman/5.1/en/connector-net-tutorials-asp-roles.html), [Oracle] (http://www.oracle.com/ technetwork/themes/dotnet/index-087367.html) и т. д. – EdSF