Итак, я получил 2 файла .aspx.Один называется логин, а другой - по умолчанию.Идея заключается в том, что при запуске приложения вы попадете на экран входа в систему.Я делаю это с помощью следующего кода в файле default.aspx.vb:
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If (HttpContext.Current.User.Identity.IsAuthenticated = False) Then
Response.Redirect("Login.aspx")
End If
End Sub
Проблема в том, что вы по какой-то причине всегда проходите аутентификацию.Это всегда возвращает истину.Мой файл веб-конфигурации выглядит так:
<configuration>
<appSettings>
<add key="strConn" value="EDITED"/>
</appSettings>
<location path="~/Styles">
<system.web>
<customErrors mode ="Off">
</customErrors>
<authentication mode="Forms">
<forms name=".ASPXAUTH"
loginUrl="Login.aspx"
protection="All"
timeout="30"
path="/">
</forms>
</authentication>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
<assemblies>
<add assembly="Microsoft.Data.Odbc, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="system.web.security"/>
</assemblies>
</compilation>
</system.web>
</location>
</configuration>
Я пробовал с aswell, ничего не изменилось.Пользователи проходят аутентификацию через базу данных.В настоящее время я запускаю программу в Visual Studio, а не на моем сайте.Когда пользователи проверяются через базу данных, я использую этот код:
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, chkPersistCookie.Checked)
Итак, есть идеи, почему люди всегда авторизованы?