之前接到一个项目要在客户开发的集成平台(Java)嵌入我们原有一个项目,本来以为无非就是url 的调用,结果后期客户反映数据造成大量无法显示及后退到登入界面,需手动输入。
本以为会是传输url参数有问题,后期检查参数没有任何问题。
再次检查跟踪才发现HttpContext.Current.User.Identity.Name竟然获取为空,但我是在自动登入时调用了
FormsAuthentication.SetAuthCookie(username, true);
e.Authenticated = true;
并执行成功,跟踪cookies username 也是存在的,但是当调转掉其他页面是username竟然神奇的消失了。
再次研究发现 FormsAuthentication.SetAuthCookie(username, true);虽然成功,然而当进入login_LoggedIn事件是,检测竟然植入cookies是失败状态,简直要疯了。
发帖始终没有人回复,不知道是不是问题表达不清楚,度娘了,大多数都是配置web.config 为form 及 iis取消匿名访问,但这些大多数都是解决的,点击login控件登入时造成的获取不到或为空问题。
实在没法找到原因,自己想办法:
1,就想抛开控件自动注入cookie问题,用?username=问题解决,但这样需要更改页面太多了,不现实抛弃掉了。
2,在Global,利用usrname自己手动写入cookie写入函数