Sitefinity MVC Внешняя Аутентификация

Я пытаюсь заставить Sitefinity работать с MVC и JQuery Mobile, и у меня много проблем....

Текущая проблема заключается в том, что мне нужно, чтобы пользователи проходили аутентификацию для доступа к частям приложения. Эта аутентификация должна быть с внешней службой, пользователи, входящие во внешний интерфейс, не будут находиться в базе пользователей Sitefinity. Мне также нужно иметь пользователей, которые могут войти в серверную часть для обновления контента, этими пользователями будет управлять Sitefinity.

Для защиты страниц в MVC я добавляю атрибут авторизации на контроллере. Это должно подтвердить, что пользователи на внешнем интерфейсе были аутентифицированы внешней службой, но все же позволяют пользователям, вошедшим на сервер, иметь возможность обновлять контент.

Это не работает, когда я попадаю на страницу с атрибутом authorize на внешнем интерфейсе, он пытается перевести меня на сайт sitefinity. Кто-нибудь нашел способ сделать эту работу?

2 ответа

Решение

Ну, у меня есть способ сделать это сейчас, но я не так рад этому...

Я получил ответ от поддержки Sitefinity и получил несколько разных способов сделать это.

1) Создайте свой собственный атрибут AuthorizeUser, сохраните значения, когда я аутентифицируюсь в сеансе cookie, проверьте это значение в атрибуте... в основном переписываю всю функциональность Authenticate самостоятельно. - Я бы очень хотел сохранить функциональность Authenticate в максимально возможной степени, поэтому я не думаю, что сделаю это.

2) Создайте пользовательский поставщик членства, добавьте его в бэкэнд Sitefinity в качестве действительного поставщика членства. Это было бы хорошим решением, если бы я хотел сохранить своих пользователей в базе данных и проверить / обновить их. Но я только проверяю против службы.

3) Создайте фиктивного пользователя в бэкенде Sitefinity без доступа и, безусловно, без бэкэнда или доступа администратора. После аутентификации в моем сервисе, если все хорошо, войдите в систему этого пользователя из кода. После этого атрибут [Authenticate] обнаруживает, что этот пользователь вошел в систему, так что все в порядке. Поскольку мне не нужно проверять роли или утверждения в моем приложении, просто этот пользователь вошел в систему, это может работать. Мне это кажется довольно уродливым, но я уверен, что пока пользователь не имеет внутреннего доступа или доступа администратора, он не будет учитываться для одновременных пользователей, и многие многие пользователи могут войти в систему как один и тот же пользователь.

Я перейду к варианту 3 и посмотрю, как он пойдет, и смогу ли я справиться с этим командой разработчиков архитектуры.

вот ссылка, где я нашел вариант 3 с дополнительной информацией...

http://www.sitefinity.com/developer-network/forums/sitefinity-sdk/custom-authentication

Джеймс! Не уверен, но я думаю, что ваш сторонний сервис должен использовать Sitefintiy Single Sign On.

Возможно, будет полезен следующий раздел справки о том, как настроить единый вход в Sitefinity:

http://www.sitefinity.com/documentation/documentationarticles/authentication-models-overview

Другие вопросы по тегам