Замена системы аутентификации на сайте, написанном на ASP.NET MVC
10 000 руб. за проект
Имеется САЙТ, написанный на asp.net mvc с
системой аутентификации ASP.NET Identity. БД уже содержит пользователей.
Есть отдельная единая cистема идентификации и
аутентификации пользователей (ЕСИА).
Необходима такая схема авторизации:
При запросе пользователем страницы САЙТА,
требующей авторизации, проверяем залогиненность на ЕСИА.
Проверяем наличие в сессии пользователя
токена для связи сессии пользователя на сайте и на ЕСИА.
Если токена нет, то надо установить связь между
сессиями, вызвав метод attach, в результате чего пользователь будет
перенаправлен на сервер ЕСИА, где установится связь между сессиями, после этого
пользователь вернется обратно на страницу сайта.
Если токен связи есть, то вызываем у сервера
ЕСИА метод userInfo. Если пользователь авторизован на ЕСИА, то метод вернет
информацию о пользователе (id, username, status, role, group_id, email).
По полученному email от ЕСИА ищем пользователя в
локальной БД и авторизуем его.
Чтобы при каждом запросе не дергать сервер ЕСИА,
можно авторизационную информацию кэшировать локально на 5 минут.
Если ЕСИА не вернул информацию о пользователе,
значит он не авторизован. Перенаправляем пользователя на ЕСИА, вызвав метод
serverLogin. Метод запрашивает у ЕСИА адрес страницы авторизации
getLoginUrl и перенаправляет пользователя на этот адрес, передав в returnUrl
адрес, куда будет возвращен пользователь после успешной авторизации.
Все методы системы авторизации есть, но написаны
на php. Необходимо портировать на C# и заменить ASP.NET Identity на описанную выше систему авторизации через ЕСИА. Чтобы можно было на контроллер повесить свой фильтр вместо [Authorize].
системой аутентификации ASP.NET Identity. БД уже содержит пользователей.
Есть отдельная единая cистема идентификации и
аутентификации пользователей (ЕСИА).
Необходима такая схема авторизации:
При запросе пользователем страницы САЙТА,
требующей авторизации, проверяем залогиненность на ЕСИА.
Проверяем наличие в сессии пользователя
токена для связи сессии пользователя на сайте и на ЕСИА.
Если токена нет, то надо установить связь между
сессиями, вызвав метод attach, в результате чего пользователь будет
перенаправлен на сервер ЕСИА, где установится связь между сессиями, после этого
пользователь вернется обратно на страницу сайта.
Если токен связи есть, то вызываем у сервера
ЕСИА метод userInfo. Если пользователь авторизован на ЕСИА, то метод вернет
информацию о пользователе (id, username, status, role, group_id, email).
По полученному email от ЕСИА ищем пользователя в
локальной БД и авторизуем его.
Чтобы при каждом запросе не дергать сервер ЕСИА,
можно авторизационную информацию кэшировать локально на 5 минут.
Если ЕСИА не вернул информацию о пользователе,
значит он не авторизован. Перенаправляем пользователя на ЕСИА, вызвав метод
serverLogin. Метод запрашивает у ЕСИА адрес страницы авторизации
getLoginUrl и перенаправляет пользователя на этот адрес, передав в returnUrl
адрес, куда будет возвращен пользователь после успешной авторизации.
Все методы системы авторизации есть, но написаны
на php. Необходимо портировать на C# и заменить ASP.NET Identity на описанную выше систему авторизации через ЕСИА. Чтобы можно было на контроллер повесить свой фильтр вместо [Authorize].
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.
На все вопросы четкие и полные ответы.