Я бы хотел запрограммировать систему аутентификации со следующими функциями:
- Использовать ASP.NET MVC2
- Использовать SQL Server
- (Вероятно)на основе MembershipProvider
- Регистрация пользователя с подтверждением по электронной почте
- Ролевая авторизация
.. и последнее, но не менее важное: - Дайте пользователю возможность войти в систему и /или зарегистрируйтесь, если авторизация не пройдена при выполнении действия POST.
Последняя функция является наиболее сложной.Когда пользователь выполняет действие POST (или какой-либо другой вид запроса) и время сеанса истекает (или пользователь не авторизован по какой-либо другой причине), пользователь должен быть перенаправлен в форму входа / регистрации.Во время входа в систему и / или регистрации данные данных запроса (POST, GET и т. Д.) Должны быть где-то сохранены.После того, как пользователь успешно авторизован, данные должны быть восстановлены, и запрос должен быть выполнен с использованием сохраненных данных.
Решение, которое я имею в виду, состоит в том, что данные запроса сериализуются и сохраняются в базе данных, идентифицируемой некоторыми уникальнымиключ.Этот уникальный ключ помещается в cookie и / или в скрытое поле в форме входа / регистрации.Когда пользователь успешно вошел в систему, контекст можно восстановить с помощью этого ключа, а действие можно выполнить с помощью этих «старых» данных запроса.
Самое сложное для меня - это то, что я не знаю, какие данныеЯ должен сохранить и как и где восстановить контекст.Я хочу иметь возможность использовать встроенные атрибуты, такие как [Authorize] и Routing.
Я (думаю) я смотрел практически везде, но без удовлетворительных результатов.Я надеюсь, что кто-то может помочь мне с этим.Заранее спасибо!