★★★★★▲▲高分求解问题????????

wulan 2003-07-24 06:31:27
我做一个项目,要在几个部门中应用,每个部门只能操作属于自己部门的东西,在用户登录后,我怎样去保证他的部门属性,即可以只可以取属于本部门的东西,我考虑过用session,可有个问题是,Session常常莫名其妙丢失,有没有更好的办法去保持他的部门属性??其中有个问题是其中一些用户他可以看其他部门的东西,但每次只能看某一部门的内容,中间可以切换看其他部门的内容,不用重新登陆。欢迎大家讨论,UP者有分。
...全文
39 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wulan 2003-07-25
  • 打赏
  • 举报
回复
自己UP一下
golook 2003-07-24
  • 打赏
  • 举报
回复
你看样行不行:在用户表里加一个字段,存放用户的身份,每次登陆后,判断这个身份,只显示其相应的控件,隐藏其不允许访问的控件。
yhwebus 2003-07-24
  • 打赏
  • 举报
回复
只能这么说

权限设置功能还不够完善,如果有完善的权限,角色功能的话,在转到任何页面前都进行下权限角色的判断,那么就没什么问题了. C/S的系统在这方面很成熟的
pencil001 2003-07-24
  • 打赏
  • 举报
回复
up!
session一般在哪几种情况下会丢失?
cl_03 2003-07-24
  • 打赏
  • 举报
回复
写cookies吧。
wulan 2003-07-24
  • 打赏
  • 举报
回复
我现在做是当用户登陆时把他的部门信息保存到Session里,这个基本上不会出问题,偶尔会莫名其妙可以查阅别的部门的信息,但一些用户他中途可以要查看不同部门的信息,这样用Session保存他的部门信息就会出现session 丢失问题,
请教楼上各位:
怎样最大限度保持session不丢失,时间大约能够保持一天左右?
chenee543216 2003-07-24
  • 打赏
  • 举报
回复
把权限用hidden保存在页面,当遇到权限校验的时候读hidden的value!
结合session来实现,会更好,
你的session 的 有效期是不是设置的太小了??
在web.config中可以把他设置的大一些,同时可以定期的fresh页面
panyee 2003-07-24
  • 打赏
  • 举报
回复
你用window.open()是经常用丢失session的, 但你说的session错乱应该不会吧?

如果要标识用户名和部门标识, 建议采用QueryString的方式
当然, 不是让你把userid和deptid都连在网址上,
而采用一张独立的表来存储 sessionid, userid, deptid,

sessionid可以 在每次登录时创建一个guid, 把它和用户标识,部门标识一起放在表的记录里
每个页面都用querystring连上一个sessionid
这样每次打开页面的时候, 调用一个特定的函数去取用户标识与部门标识,再判断权限
退出登录时清掉该用户的sessionid记录

其实session也没你说的那么脆弱吧? 可能是你退出登录时没有用 Session.Abandon();来释放session的原因.

退出登录后, 最好把浏览器的窗口关掉. 这样session就彻底清掉了
boulder 2003-07-24
  • 打赏
  • 举报
回复
我只能UP
dychen 2003-07-24
  • 打赏
  • 举报
回复
做个数据表保存,用户信息。不过比较慢!
也可以把Session有效期设置的长一些。不过Session确实不是很稳定!
xrll 2003-07-24
  • 打赏
  • 举报
回复
只能up!
孟子E章 2003-07-24
  • 打赏
  • 举报
回复
Session常常莫名其妙丢失??
不会的吧,是代码写的不严密的。
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-24 06:31
社区公告

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

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