一个Web Site, Login page 是Default.aspx, login Succeed 则转到Succeed.aspx.没有通过Form. Authentication则被重定向到Login page.
20090203修正内容:web.config的session&forms标签,页面中session中的测试。在IE7下cookie可用|禁用时session&form. authentication测试通过。
web.config:
xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true"/>
<sessionState cookieless="AutoDetect"/>
<authentication mode="Forms">
<forms name="CookieName" loginUrl="Default.aspx" protection="All" cookieless="AutoDetect">forms>
authentication>
<authorization>
<deny users="?"/>
authorization>
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="" />
<error statusCode="404" redirect="" />
customErrors>
system.web>
configuration>
Default.aspx
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string TeValue = this.TextBox1.Text;
string errorMe = string.Empty;
try
{
if (!TeValue.Equals(String.Empty))
{
System.Web.Security.FormsAuthentication.SetAuthCookie("myName", false);
Response.Redirect("Succeed.aspx",false);
Session.Add("mySession", "mySessionView");
}
else
{
Response.Write("You are wrong.");
}
}
catch (Exception ee)
{
errorMe = ee.Message;
}
}
}
Succeed.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Succeed : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("on Succeed page --->>>" + Session["mySession"]);
Boolean userAuth = User.Identity.IsAuthenticated;
}
protected void Button1_Click(object sender, EventArgs e)
{
System.Web.Security.FormsAuthentication.SignOut();
Response.Redirect("Default.aspx");
}
}



1.JPG