0
나는 다음과 같은 설정을 사용하는 경우, 나는 보안 페이지로 리디렉션 Server.Transfer를()/Response.Redirect를()를 사용할 수 없습니다입니다 :asp.net 일종의 보안 페이지 문제 중 하나
<authentication mode="Forms">
<forms
name="CookieDemo"
loginUrl="Default.aspx"
protection="All"
timeout="30"
path="/"
/>
</authentication>
<authorization>
<deny
users="?"
/>
Default.aspx를 제외한 모든 페이지를 보호해야합니다.
이 문제를 해결하려면 어떻게해야합니까?
asp.net의 기본 제공 멤버 자격 공급자를 사용하고 있지 않습니다.
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;
}
}
이 것은 하나 작동하지 않습니다 :
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*"></allow>
</authorization>
</system.web>
</location>