日期:2014-05-17  浏览次数:20470 次

C# 关于页面跳转与传值
现在有一个问题很困惑:
登录页面,录入用户、类型等,成功打开主界面的网页,希望将登录页面的相应信息传入主界页面:
1、有用QueryString的方法,感觉不安全;
2、有用Application对象,是全局的,影响所有访问的用户,不适用;
3、有用Session变量,会在一定时间内自动丢失,如果是主界面关闭才丢失到没什么,它却在设定的时间内丢失,对每个用户不太灵活;
4、有用Coolie对象变量,听说这种方法有盗取用户信息的行为,也不爽;
5、有用Server.Transfer方法,测试如果刷新页面或按F5会,会提示:“要再次显示该网页,internet exploer 需要重新发送您以前提交的信息”,感觉是对登录页面信息的提交,感觉不好。

从登录页面转入主界面的信息,随时会用于子框架单个操作界面的权限获取,如果过段时间失效就没有意义了。所以一直想有木有其他办法,可以在不同用户界面存放长期变量,页面退出即消失?刷新页面或按F5不会提示重新提交问题?

------解决方案--------------------
用QueryString不安全,你可以对参数加密一下,再加个md5认证的参数,然后在接收参数的页面解密
------解决方案--------------------
Session ,不用Inproc,而是StateServer
------解决方案--------------------
SQLServer


------解决方案--------------------
如果你的主界面采用 iframe 架构, 就一点问题都没有了。

login页进来, 先放在session, 主界面假设是 default.aspx, 然后将所有的session信息全部放在 default.aspx 界面的 js 变量里, 这样很方便。 

所有的子页面, 需要相关信息时, 从顶级页面 default.aspx 的 js变量中取即可.
------解决方案--------------------
session 正解
------解决方案--------------------
大家都用session,都活得好好的呢
session过一段时间丢失也是有理由的,他是存服务器上的总不能你登了一下后一直存在吧

普通页面的传值用url参数方式就可以,实在不放心 放在http请求的head里面,让对方接受就好了
有些关键点的数据可以同时存cookie或者session,你加好密和设置好时间久好了
------解决方案--------------------
此外, Session 丢失, 这个问题比较常见, 你可以找一下网上的解决方法。 

比如:骚扰法——每隔一段时间骚扰一下IIS——因为Session丢失的原因大部分是因为过期。
存DB法, 这个就不用我说了。
------解决方案--------------------
引用:
用QueryString不安全,你可以对参数加密一下,再加个md5认证的参数,然后在接收参数的页面解密

+1
------解决方案--------------------
Session
------解决方案--------------------
保存到数据库
------解决方案--------------------
一直在用Session    有Timeout时间也很人性化   感觉Session是比较安全而且好用的
------解决方案--------------------
session 那个网站没有session失效。。。
------解决方案--------------------
引用:
现在有一个问题很困惑:
登录页面,录入用户、类型等,成功打开主界面的网页,希望将登录页面的相应信息传入主界页面:
1、有用QueryString的方法,感觉不安全;
2、有用Application对象,是全局的,影响所有访问的用户,不适用;
3、有用Session变量,会在一定时间内自动丢失,如果是主界面关闭才丢失到没什么,它却在设定的时间内丢失,对每个用户不太灵……
+1
------解决方案--------------------
楼主是不是对session的过去时间的理解有误会?这个时间指的是会话终止前客户端客户端没有发送请求所经过的时间。我怎么觉得挺好...
------解决方案--------------------
4、有用Coolie对象变量,听说这种方法有盗取用户信息的行为,也不爽;

你把信息加密存入到cookie里,在调用的时候解密不就可以了

------解决方案--------------------
 参数加密就行了 QueryString 接收就行了