Cookie 支持二级域名和FormsAuthentication 加强版

因为FormsAuthentication验证方式,生成的Cookie的Domain是当前路径中的Domain,并不支持二级域名,所以在

.Text 支持二级域名之二 http://thinhunan.cnblogs.com/archive/2005/10/27/262749.html  一文中,我使用了一种在每处调用SetAuthCookie和SignOut方法时更改写入的Cookie的Domain的方法来使其支持二级域名。
这种方法可行,但有些麻烦。后来又发现更有效更便捷的一种方法,那就是利用HttpModule
None.gif
None.gif
public   class  SecondaryDomainCookieModule : System.Web.IHttpModule
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public SecondaryDomainCookieModule()dot.gif{}
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public void Dispose()dot.gif{}
InBlock.gif
InBlock.gif    
public void Init(System.Web.HttpApplication context)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        context.EndRequest 
+=new EventHandler(cookie_Edit_EndRequest);
ExpandedSubBlockEnd.gif    }

InBlock.gif
InBlock.gif    
private void cookie_Edit_EndRequest(object sender, EventArgs e)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        HttpContext context  
= ((HttpApplication)sender).Context;
InBlock.gif
InBlock.gif        
string domain = ".tzl.com";
InBlock.gif        
string cookieName =  FormsAuthentication.FormsCookieName;
InBlock.gif        HttpCookie cookie 
= context.Response.Cookies[cookieName];
InBlock.gif        
if(cookie != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            cookie.Domain 
= domain;
InBlock.gif                    
ExpandedSubBlockEnd.gif        }

InBlock.gif        
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值