Я разрабатываю веб-приложение .NET для ASP.NET и пытаюсь запретить всем пользователям, которым не разрешен доступ к моему приложению, но разрешаю им только страницу входа.
Ниже приведен фрагмент кода, который находится внутри моего раздела system.web:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="60" name="APPNAME" slidingExpiration="true" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
У меня также есть это снаружи, чтобы разрешить доступ к странице входа:
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Однако я все еще могу получить доступ к страницам, когда я не вошел в систему, как я могу предотвратить это?
Я даже добавил файл Web.Config в основную папку, в которой хранится большинство файлов веб-сайта, содержимое которых:
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
Но это все еще не имеет никакого эффекта.
Решение
Я следовал некоторым советам по оптимизации для asp.net (http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx) и удалил httpModule AnonymousIdentification, который мне действительно был нужен.