FormsAuthentication 票据前后台登录导致掉线
一、前后台的用户信息都是采用.NET自带的FormsAuthentication 的ticket存取用户信息,
但是如果前后台用相同的用户使用票据这个会导致一方登陆后另一方会掉线,需要重新登陆。
二、问题分析
为什么会掉线呢?
可能是因为相同的用户名存的Cookie一样导致把另一个替换了吧?
后台是前台的子站,但是他们用的不是一个应用程序池,应该不会替换的呀。
结果把应用程序池换了还是会掉线。
后来想着前后台的票据虽然是不是同一个应用程序池,但是他们的票据名称是一样,能不能让他们的票据名不一样呢。
后来把webconfig 的authentication 节点的<forms>子节点上加了个name属性 标识了这个票据的名字。同样后台也加了一个,不过名字不一样。
结果奇迹发生了,不掉线了。
三、结论
事实证明,如果多个站点同时使用票据,为了避免站点之间互相替换cookie名,每个站点都应该给票据单独一个特定的标识名。
四、花絮:
票据使用方法
public void SetAuthenticationToken(string name, string userdata, bool createPersistentCookie = false)
{
FormsAuthentication.SetAuthCookie(name, true, FormsAuthentication.FormsCookiePath);
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, name.ToString(), DateTime.Now, DateTime.Now.AddDays(1), true, userdata);
string encTicket = FormsAuthentication.Encrypt(authTicket);
this.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
}
最新文章
- JBD日志的定位、分析和恢复
- mata属性
- visual foxpro命令
- 求当前时间100天后的时间日期,格式化为xxxx年xx月xx日
- Alternative Representations for 4-Bit Integers
- C# 数组,ArrayList与List对象的区别
- ASP.NET的SEO:基础知识
- 打开shpfile,mdb,sde工作空间
- Qualcomm Web Site For Android Development
- C中位域的使用
- 线段树菜鸟一题+归并排序【求逆序数】POJ2299
- JNI 可变印刷
- IOS开发-UI学习-UITabBarController的使用
- CF1152E Neko and Flashback--欧拉路径
- day20 python常用模块
- ARC085E MUL
- Android SurfaceView实现跟随手指移动的光标
- [转载]用纯css改变下拉列表select框的默认样式
- Java基础-SSM之mybatis一对多和多对一关系映射
- Wannafly挑战赛24 B 222333
热门文章
- EDI error
- 使用谷歌CoLaboratory训练神经网络
- (转)MSSQLSERVER执行计划详解
- 基础总结(04)-- display:none;&;&;visibility:hidden;区别
- sqlserver2012 数据库差异备份恢复 记录
- 海外aws-ubuntu-16.04系统使用ansible安装tidb
- leetcode1035
- 序列号多个input输入demo
- Java反射实现原理分析
- 根据设备width(375)动态设置font-size