0
私は、次の設定を使用する場合、私は保護されたページにリダイレクトするServer.Transferを()/のResponse.Redirect()を使用することができません:asp.net種類保護されたページの問題の1
<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>