需要一份 登录,权限,保持登陆状态的源码(.net aspx)

朝花夕实 2016-05-11 01:57:01
使用场景:
用户:多人,多台PC ,局域网使用。类似OA的系统。

由于长期从事windows开发。 网络开发后,session总是丢失,使用缓存后,多个独立用户在多台PC上登录后,容易同时掉线。
头发都扯掉了一把。

请各位大神给一份源码吧。

多用户系统,多人在局域网内,同时在线,并保持用户保持在线。30分钟无操作后,强制掉线的功能。


拜谢....
...全文
288 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldxsik 2016-05-27
  • 打赏
  • 举报
回复
用cookie吧,ASP.NET的session时常丢失
yzf86211861 2016-05-12
  • 打赏
  • 举报
回复
这种过期 是很正常的 一般OA 都会设置这种机制。 怎么防止Session 过期 网上搜 大把的。
範先森 2016-05-12
  • 打赏
  • 举报
回复
session存在过期的,不仅仅说时间到了,每次网站重启都会造成过期,而且多人,多系统,用session的话可能对你本地当服务器的计算机也有一定压力,你这个情况可能是这个原因造成了网站重启才丢失session的
AsheBin 2016-05-12
  • 打赏
  • 举报
回复
保持登陆,就把用户信息放在Session中,担心丢失的话,采用StateServer模式,要是还担心的话,就定时自动像服务器发送个请求,要是还担心的话就保存一些登陆信息放在Cookie中,每次请求都发过去,让服务器认证,要是还担心的话,那您就去跳楼吧。 权限这东西说来话长,你在session中得到了用户,就得到了他的角色,得到了角色,就能得到权限,得到了角色的权限,您就可以随意控制,啥都不用愁了
Rajesh_James 2016-05-12
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
唉,如果非要抄个代码,那就随便写两句
setInterval(function () {
    $.get("hello.aspx");
},50000);
主要是知道设计规范,代码是其次的,每个人可以自己“随便写”代码。
  • 打赏
  • 举报
回复
你这个跟丢失没关系,属于正常的asp.net 过期问题(最近总有人把丢失跟过期,从不同方向跟概念混乱) asp.net 确实是默认20分钟即将 session 过期的,即使是使用 aspnet state server 方式或者sql server来管理session的方式,也一样是对 session 进行过期处理的。实际上在我们的基于tcp或者websocket的程序中,甚至是规定1分钟即过期的(传统的tcp底层机制是1、2个小时之后才判断超时断网的)!也就是说,“过期”是一个比较常见的网络控制策略。 保持“不过期”的设计很简单,就是保持“心跳”。例如你可以在每一个页面的前端,使用一个javascript 定时器,每隔50秒钟就访问一下某个 ashx 或者 aspx。这样不就不会过期了嘛!
plcly1 2016-05-11
  • 打赏
  • 举报
回复
authentication这个应该可以
江南小鱼 2016-05-11
  • 打赏
  • 举报
回复
状态维持一般都是用Session 参考 可能对你有帮助↑

62,270

社区成员

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

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

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

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