After all the processing procedures, use httpmodule to solve the problem in one go.
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;
/// <Summary>
/// Correctcookiedomainmodule abstract description
/// </Summary>
Public Class Correctcookiedomainmodule: ihttpmodule // Inherit the ihttpmodule Interface
{
Public Correctcookiedomainmodule ()
{
}
# RegionIhttpmodule Member
Public void dispose () {}
Public VoidInit (httpapplication context)
{
//Subscribe to events in init
Context. endrequest+ = NewEventhandler (context_endrequest );
}
/// <Summary>
/// Correct the cookie domain at the end of the HTTP execution Pipeline
/// </Summary>
Void Context_endrequest ( Object Sender, eventargs E)
{
Httpcontext Context = (Httpapplication) sender). context;
String Domain = " .Cnblogs.com " ;
String Cookiename = Formsauthentication. formscookiename;
Httpcookie = Context. response. Cookies [cookiename];
If (Cookie ! = Null )
{
// Change the cookie domain to .cnblogs.com.
// In this way, cookies can be shared with all second-level domain names.
Cookie. Domain = Domain;
}
}
# Endregion
}
In web. Config
<? XML version = "1.0"?>
<Configuration xmlns = "http://schemas.microsoft.com/.NetConfiguration/v2.0">
<System. Web>
<Compilation DEBUG = "true"/>
<Httpmodules>
<Add name = "correctcookiedomainmodule" type = "customcomponents. correctcookiedomainmodule"/>
</Httpmodules>
<Authentication mode = "Windows"/>
</System. Web>
</Configuration>