• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

--关于b/s结构的程序的用户状态如何维护和保密的问题?--

huiqun 2006-10-26 05:10:32
----------------------------------------------------------
1用户状态如何维护
一般使用cookies来维护状态,又没有更好的方式和方法?
----------------------------------------------------------
2保密的问题
一般分为系统级和应用级.除了acl外,又没有更好的方式和方法?
...全文
124 点赞 收藏 21
写回复
21 条回复
fengyecsdn 2006年10月27日
如果必须要速度\安全\方便都很高的话

有个办法 类似上边所说的 内存数据库

在Application[xxx](或者是缓存里边存上自己的一个数据表类(自己设计)
把对应的不SN号加密分配给SESSION 速度比数据库要快很多 安全嘛也不错拉
回复 点赞
CatChen 2006年10月26日
Cookies仅仅保存token(令牌),数据按照token保存在数据库。当然,这比较消耗数据库,特别是匿名用户的信息也保存的话。
回复 点赞
DePaul 2006年10月26日
1 asp.net 2.0中的Profile
回复 点赞
icuc88 2006年10月26日
不同的情况不同的应用。

Session是一个折中的选择。

2保密的问题
一般分为系统级和应用级.除了acl外,又没有更好的方式和方法?
……………………………………………………
这个是一个很严肃的问题,你需要保密到什么程度,什么数据需要保护,在什么时候保护,都是值得考虑的问题
回复 点赞
aafshzj 2006年10月26日
呵呵,我前面不也说
3)登录状态等信息:Session/缓存
4)登录id等:Cookie
5)用户信息等持久信息:缓存
吗?

我是针对fengyecsdn(虔诚)的那句话说得啊。

session信息的最佳方式当然是内存+同步,比数据库和基于远程共享对象的Session都要好。
回复 点赞
以专业开发人员为伍 2006年10月26日
实际上,我使用“内存数据库”,比传统数据库快100倍以上。
回复 点赞
以专业开发人员为伍 2006年10月26日
这样看什么数据库了,小小一个xml文件或Access文件就比用客户端来保存cookie快,何况还有防止伪造的功能。
回复 点赞
aafshzj 2006年10月26日
尤其对数据库服务器。
回复 点赞
aafshzj 2006年10月26日
session入库常常会导致性能问题。
回复 点赞
fengyecsdn 2006年10月26日
SESSION 加SQL ASP.NET本身就支持把连接状态保存在SQL中,只要在WEBCONFIG里配置好就成
这样 连接过期问题就不存在了,你可以设置为一年 只要不关闭浏览器 永久有效
SESSION内的数据自己加密就成了
回复 点赞
aafshzj 2006年10月26日
ACL意义确实不大。
回复 点赞
以专业开发人员为伍 2006年10月26日
根据Session在服务器端使用一个 --> 根据SessionID在服务器端使用一个
回复 点赞
以专业开发人员为伍 2006年10月26日
如果你真的需要保存会话状态并且又不占用服务器内存,根据Session在服务器端使用一个xml或者数据库就可以了,不用在服务器和客户端之间将cookie丢来丢去。

如果你需要跟踪顾客,那么仅仅使用cookie在客户端保存一个编号就可以了,然后还是使用xml或者数据库等保存无限大的状态数据。

既然不下载多余的cookie,就不怕客户端偷走或者泄露信息(除了最后这个编号以外)。
回复 点赞
以专业开发人员为伍 2006年10月26日
从来不使用Cookie(SessionID除外),从来没有设置过ACL那么笨拙和与业务无直接结合的东西(而是有应用程序实时根据业务流程来判断权限)。
回复 点赞
aafshzj 2006年10月26日
再总结一下:
1)界面内状态保持:viewstate
2)界面间参数传递:URL参数/Form参数
3)登录状态等信息:Session/缓存
4)登录id等:Cookie
5)用户信息等持久信息:缓存
...
回复 点赞
aafshzj 2006年10月26日
cookie过期时间是自己可以设定的,过期问题难道还不好解决?
回复 点赞
aafshzj 2006年10月26日
有一些信息应该走url,有一些可以在session里放一下,有一些放在缓存或者自定义池中(如在线人员列表)。个别的ID可以放在Cookie加密传输,属于解密了也无所谓的。真正关键的信息不可能放cookie的。
回复 点赞
huiqun 2006年10月26日
如何解决COOKIES的过期问题?
回复 点赞
aafshzj 2006年10月26日
cookie加密+对象缓存+多服务器对象同步
回复 点赞
我不懂电脑 2006年10月26日
保密的问题
一般都是通过定义权限限制用户操作的。
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告