Мой вопрос касается подхода, и я ищу советы или ссылки, которые помогут мне разработать решение. У меня есть приложение веб-форм .NET 4.0, которое работает с проверкой подлинности с помощью форм, используя базу данных пользователей и пароли aspnetdb SQL. Новой функцией приложения является новый механизм аутентификации, использующий единый вход для предоставления доступа тысячам новых пользователей. По сути, когда пользователь входит в систему с помощью нового метода единого входа, я смогу идентифицировать их как законных пользователей с ролью.
Так что у меня будет что-то вроде HttpContext.Current.Session ["email_of_authenticated_user"] (их личность) и HttpContext.Current.Session ["role_of_authenticated_user"] (их роль) .
Важно отметить, что я не обязательно хочу поддерживать этих пользователей и роли избыточно в базе данных aspnetdb, которая будет удалена, но я делаю хочу использовать вышеуказанные объекты сеанса, чтобы позволить пользователю проходить через приложение, как если бы они проходили через аутентификацию форм. Я не думаю, что CustomRoleProviders или CustomMemberProviders полезны, поскольку они не позволяют создавать пользователей на уровне сеанса.
Поэтому мой вопрос заключается в том, как использовать пользователя и роль на уровне сеанса, которые мне действительно нужны, чтобы «имитировать» все достоинства проверки подлинности форм, например принудительное выполнение:
[System.Security.Permissions.PrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Role = "Student")]
или
<authorization>
<allow users="wilma, barney" />
</authorization>
Спасибо за любые указатели.