Использование аутентификации / авторизации ASP.NET с сервером разработки Cassini - PullRequest
0 голосов
/ 07 марта 2011

Я только что столкнулся с одной из проблем использования интегрированного сервера разработки (Cassini) в VS и хотел бы узнать, есть ли какие-либо решения.

Мы используем аутентификацию asp.net для защиты сайта. Однако Cassini работает в режиме интегрированного конвейера, что означает, что запросы на все файлы проходят через ispi asp.net. Результатом этого является то, что он защищает файлы, которые иначе не были бы защищены в производственной среде (.htm .js .css и т. Д.).

Теперь я понимаю, что мы можем запустить проект на локальном экземпляре IIS, но мы хотели бы избежать этого, если это возможно. Но из-за описанной выше проблемы это выглядит как единственное решение.

Есть ли у кого-нибудь идеи о том, как заставить Cassini работать с аутентификацией, которую можно легко перенести в производственную среду, когда она будет готова? (Я также хотел бы избежать использования другого файла web.config для разработки, который бы разрешал доступ к этим файлам).

Кстати, мы используем VS2010.

Большое спасибо.

Ответы [ 2 ]

1 голос
/ 07 марта 2011

Вместо использования Cassini вы можете загрузить и установить IIS Express :

IIS Express - это легкая автономная версия IIS, оптимизированная для разработчиков.IIS Express позволяет легко использовать самую последнюю версию IIS для разработки и тестирования веб-сайтов.Он обладает всеми основными возможностями IIS 7, а также дополнительными функциями, разработанными для упрощения разработки веб-сайтов

0 голосов
/ 07 марта 2011

Вы можете подключиться к событию HttpApplication.PostAuthenticateRequest в вашем global.asax или IHttpModule. Событие PostAuthenticateRequest на MSDN

В обработчике событий проверьте расширение файла для того, которое вы хотите быть незащищенным. Если расширение файла совпадает, задайте для HttpContext.User экземпляр IPrincipal, который имеет роли, необходимые для доступа к файлу в указанном каталоге.

...