2013-10-24 4 views
1

Я разрабатываю веб-приложение, и я разделил приложение на два веб-проекта, проект MVC и проект WebAPI. Проект MVC развернут на виртуальный хост, привязанный к http://mysite.com/app. Проект WebAPI развертывается как под-приложение приложения MVC и привязан к http://mysite.com/app/Data. Причиной этого разделения является то, что сайт WebAPI может быть упакован как независимая сборка для уровня данных, тогда как сайт MVC служит в качестве уровня представления.Аутентификация для приложения MVC и под-приложения WebAPI

Аутентификация и авторизация работают как ожидается в приложении MVC верхнего уровня, но не в суб-приложении WebAPI. Я ожидал, что под-приложение будет использовать тот же HttpContext, что и его родитель. Я ошибаюсь об этом?

Есть ли способ связать родительское и вспомогательное приложения вместе, чтобы они использовали один и тот же контекст авторизации как друг друга?

+0

Какая форма Auth вы используете? OAuth, Windows, Forms? – ianaldo21

+0

Также вы не должны связывать два контекста аутентификации приложения вместе, так как это технически два отдельных приложения. – ianaldo21

ответ

3

Я не думаю, что HttpContext можно использовать между двумя приложениями.

Поскольку два приложения находятся в одном домене, можно обмениваться аутентификацией cookie между ними. Вот MSDN link о совместном использовании cookie для двух приложений.

Я не считаю необходимым использовать здесь два приложения. Вы можете поместить весь связанный с веб-авией код в другую сборку и сделать приложение MVC ссылкой на него.

+0

Сочетание двух приложений в одном и просто ссылка на сборку было гораздо лучшим решением. Спасибо! Первоначально проект данных начинался как проект WCF, но превратился в проект WebAPI, поскольку поддержка WebAPI OData была улучшена, поэтому я никогда не думал об этом дважды. –

Смежные вопросы