集成平台自动登入+C# Login控件,造成的HttpContext.Current.User.Identity.Name 为空问题解决方案

之前接到一个项目要在客户开发的集成平台(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写入函数

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值