Я установил следующие формы аутентификации на основе того, что я понял из комплекта самостоятельного обучения MCTS для экзамена MCTS 70-562, но аутентификация не выполняется ...
<authentication mode="Forms">
<forms name="ortund" loginUrl="~/Login.aspx" timeout="30" slidingExpiration="true" />
</authentication>
</system.web>
<location path="Members">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
По сути, он должен разрешить неаутентифицированным пользователям доступ ко всем областям сайта, кроме ~/Members/
, а также ко всем файлам и папкам внутри них.
В настоящее время все, что он делает, это просто перенаправляет обратно на страницу входа ... Есть ли что-то, что мне здесь не хватает? Я не понимаю, что сделал не так.
Вот код для входа:
Protected Sub lnkLogin_Click(sender As Object, e As System.EventArgs) Handles lnkLogin.Click
Dim db As New Database
' gets data from the database with the supplied credentials
' if true, the user exists, proceed to log in
If db.Login(txtEmail.Text, txtPassword.Text, "ortund") Then
FormsAuthentication.RedirectFromLoginPage(txtEmail.Text, True)
If Not String.IsNullOrEmpty(Request.Params("ReturnUrl")) Then
Response.Redirect(Request.Params("ReturnUrl"))
Else
Response.Redirect("~/Members/Default.aspx")
'Response.Redirect("~/AboutUs.aspx")
End If
Else
lblerr.Text = "Invalid username or password"
End If
End Sub
И Page_Load для членов / Default.aspx:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If Context.User.Identity.IsAuthenticated Then
loadUserPage()
End If
End If
End Sub