大家保存用户登录信息都用到哪些?

godhuang 2008-01-31 10:26:26
session用的多会占服务器内存,而且有时候莫名其妙丢失
cookie用的不多
请问有没有好点的存储办法
...全文
183 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
一品梅 2008-01-31
  • 打赏
  • 举报
回复
profile 但是其本质也是数据库.
zpcoder 2008-01-31
  • 打赏
  • 举报
回复
哦。对了 cookie 还有一个毛病就是
假设你在 www.sms.abc.com 上登陆可以访问
www.abc.com
www.mms.abc.com
www.pic.abc.com
www.vod.abc.com
……
但不能访问 再下层的如

www.123.mms.abc.com
www.123.pic.abc.com
www.123.vod.abc.com

……
zpcoder 2008-01-31
  • 打赏
  • 举报
回复
有两种办法当然还是cookie 和 session
session虽说占服务器资源。但安全。这是值得的。况且现在硬件较好 随随便便是 几G的内存。
不管怎么样 session是值得的......安全第一。你要懂得 舍不得孩子套不住狼的道理。

cookie 也可以。但并不是浏览者的IE就一页支持COOKIE [的确的大部分用户把自己的IE设成支持]
cookie 再怎么说又是客户端。客户端就不谈安全的事了。保存一些不是很隐私的信息当然是可以的。

至于 session容易丢。session的有一个模式好像依赖 explorer 进程。丢失是正常的。

一般情况下 用 InProc 这个模式把超时的时间设长一点。还是可以的。

我的 <sessionState timeout="600" mode="InProc"/>
用户从上班用到下班。还是可以的。
zhaozhao110 2008-01-31
  • 打赏
  • 举报
回复
2、 开启 ASP.NET State Service(如下图)

右键点击“我的电脑”→ 管理 → 服务与应用程序 → 服务 → 双击“ASP.NET State Service” → 启动(可设为“自动”)

说明:只要安装了 .Net Framework v1.0/v1.1 ,都拥有此服务。

3、 更改 Web.config

打开 Web.config → 找到 <sessionState> 节点内容

<sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20" />


→ 将其改为以下内容

<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.0.2:42424" timeout="20" />

注意事项:

a)、设成StateServer 后,必须要有对应的stateConnectionString

b)、注意 IP 地址(可以是远程计算机 IP、计算机名称、域名)与端口号,端口号需与ASP.NET State Service 的服务端口一致

zhaozhao110 2008-01-31
  • 打赏
  • 举报
回复
StateServer 设置
1、 修改注册表(关键步骤,如下图)

运行 regedit → 打开注册表 → 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(1 为允许,0 代表禁止)→ 设置 Port (端口号)

注意事项:

a)、若ASP.NET State Service 正在运行,修改注册表内容后,则需要重新启动该服务

b)、注意端口号的键值是以十六进制储存的,可以使用十进制进行修改,42424 是默认的端口

c)、AllowRemoteConnection 的键值设置成“1”后,意味着允许远程电脑的连接,也就是说只要知道你的服务端口,就可享用你的ASP.NET State Service,即把 Session 存放在你的电脑进程内,因此请大家慎用;键值为“0”时,仅有stateConnectionString 为“tcpip=localhost: 42424”与“tcpip=127.0.0.1:42424”的情况,方可使用ASP.NET State Service

Lostinet 2008-01-31
  • 打赏
  • 举报
回复
记住用户名就OK.

其他信息全部储存在数据库里. 包括运行时的信息.

醉翁之意不在答问题,在于发广告也------------------------------------------------

我们要新招一个JavaScript的开发人员哦.有人有兴趣来吗??
http://www.cnblogs.com/Lostinet/archive/2008/01/31/1059527.html
jimu8130 2008-01-31
  • 打赏
  • 举报
回复
◎用form身份验证票的方式 ?有参考资料吗?谢谢

楼主应该可以上网吧?用google搜索资料应该会吧?用google搜索“net form验证”可以找到n多的资料!
godhuang 2008-01-31
  • 打赏
  • 举报
回复
看来学的少了,居然还有这么多的学问
zhaozhao110 2008-01-31
  • 打赏
  • 举报
回复
用session的话,也未必就丢失,主要看你采用的是那种方式,一般有InProc、StateServer、SQLServer 三种方式.默认用的是InProc,就是把 Session 保存在 aspnet_wp.exe (Windows 2000 解析 ASP.NET页面所用的进程) 或 w3wp.exe (Win2003 的进程) 中,一旦进程被中止或被重置,Session 将丢失,StateServer把Session 存放在一个单独的进程里,此进程独立于 aspnet_wp.exe 或 w3wp.exe,SQLServer 自然就是存放到数据库中,你可以根据需要选择.
godhuang 2008-01-31
  • 打赏
  • 举报
回复
用form身份验证票的方式 ?有参考资料吗?谢谢
zhuanshen712 2008-01-31
  • 打赏
  • 举报
回复
顶l楼。
paulyjin 2008-01-31
  • 打赏
  • 举报
回复
用form身份验证票的方式
jimu8130 2008-01-31
  • 打赏
  • 举报
回复
保存信息来去常见的就你写的这写个办法,除了这个还有数据库保存,你自己衡量下吧。他们各有优缺点
session : 优缺点你应该知道
cookie:占用的是客户端的,但是是否能存储是客户决定。form验证默认采用的就是cookie保存
数据库:维护起来很麻烦,但是比其它的要保险些

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧