В моем веб-приложении ASP.NET структура проекта показана на следующем изображении:
Web.config сайта имеет аутентификацию формы:
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880" />
</authentication>
И Web.config папки Pages имеет:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
У меня есть администратор пользователя с ролью Admin.После успешного входа в систему я пытаюсь перенаправить пользователя в Home.aspx находится в папке Pages как:
protected void EMSLogin_Authenticate(object sender, AuthenticateEventArgs e) {
TextBox UserNameTextBox = EMSLogin.FindControl("UserName") as TextBox;
TextBox PasswordTextBox = EMSLogin.FindControl("Password") as TextBox;
if (Membership.ValidateUser(UserNameTextBox.Text, PasswordTextBox.Text)) {
Response.Redirect("~/Pages/Home.aspx");
}
}
Но это не работает Он снова перенаправляет на страницу входа, т. е. Login.aspx с URL-адресом: localhost:3695/Login.aspx?ReturnUrl=%2fPages%2fHome.aspx
.
Как этого добиться? Любая информация будет очень полезной
С уважением