Wenn ich die folgende Einstellung zu verwenden, bin ich nicht in der Lage Server.Transfer() verwenden/Response.Redirect() auf eine gesicherte Seite zu umleiten:asp.net ein einer gesicherten Seite Problem
<authentication mode="Forms">
<forms
name="CookieDemo"
loginUrl="Default.aspx"
protection="All"
timeout="30"
path="/"
/>
</authentication>
<authorization>
<deny
users="?"
/>
Ich muss alle Seiten außer Default.aspx schützen.
Was soll ich tun, um dieses Problem zu lösen?
Beachten Sie, dass ich nicht den integrierten Mitgliedschaftsanbieter von asp.net verwende.
Hier ist mein Umleiten Code:
protected void Page_Load(object sender, EventArgs e)
{
AspNetUtil util = new AspNetUtil(this);
//util.DisposeCookie("user");
UserTypeEnum userType = EnumUtility.ConvertToEnum(util.GetCookieValue("user", "usertype"));
string username = util.GetCookieValue("user", "username");
if (userType == UserTypeEnum.Student)
{
//Server.Transfer("~/Student/StudentControlPanel.aspx?username=" + username);
Response.Redirect("~/Student/StudentControlPanel.aspx?username=" + username);
}
else if (userType == UserTypeEnum.Teacher)
{
//Server.Transfer("~/Teacher/TeacherControlPanel.aspx?username=" + username);
Response.Redirect("~/Teacher/TeacherControlPanel.aspx?username=" + username);
}
}
protected void btnLogin_Click(object sender, EventArgs e)
{
string username = this.usernameTextBox.Text;
string password = this.passwordTextBox.Text;
bool success = Ice_Web_Portal.BO.User.LogIn(username, password);
if (success)
{
Ice_Web_Portal.BO.User user = Ice_Web_Portal.BO.User.GetUserByUserName(username);
Ice_Web_Portal.BO.UserTypeEnum loginUserType = user.UserTypeEnum;
if (loginUserType == UserTypeEnum.Student)
{
AspNetUtil util = new AspNetUtil(this);
util.SaveInCookie("user", "username", username, 3600);
util.SaveInCookie("user", "usertype", "Student", 3600);
//Server.Transfer("~/Student/StudentControlPanel.aspx?username=" + username);
Response.Redirect("~/Student/StudentControlPanel.aspx?username=" + username);
}
else if (loginUserType == UserTypeEnum.Teacher)
{
AspNetUtil util = new AspNetUtil(this);
util.SaveInCookie("user", "username", username, 3600);
util.SaveInCookie("user", "usertype", "Teacher", 3600);
//Server.Transfer("~/Teacher/TeacherControlPanel.aspx?username=" + username);
Response.Redirect("~/Teacher/TeacherControlPanel.aspx?username=" + username);
}
else
{
labLoginMessage.Text = "Sorry! Type of user couldn't be determined!";
}
}
else
{
labLoginMessage.Text = Ice_Web_Portal.BO.User.LoginMessage;
}
}
Dies funktioniert nicht entweder:
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*"></allow>
</authorization>
</system.web>
</location>