.net单点登录

本文介绍了如何在.NET环境中实现单点登录功能。通过在global.asax文件中设置Session_End事件,移除过期会话;修改web.config启用session_end事件;并在登录事件中检查用户是否已在线,如果在线则阻止登录,否则创建新的会话并保存用户信息。同时,通过客户端cookie验证用户登录状态。
摘要由CSDN通过智能技术生成


第一:建立global.asax文件, Session_End 事件中写入如下代码: 
复制代码 代码如下:
Hashtable h = (Hashtable)Application["online"]; 
if (h[Session.SessionID] != null) 
h.Remove(Session.SessionID); 
Application["online"] = h; 


第二:修改web.config文件,在system.web 结点里面增加 
复制代码 代码如下:
<sessionState mode="InProc"></sessionState> 


这个是为了使用global.asax中的session_end事件生效。 


第三:页面的登录事件中,判断登录用户是否在服务端全局变量中存在,存在就不允许登录,不存在就创建。以下是实现过程,登录按纽的事件中调用。 
复制代码 代码如下:
private void isLogin() 

Hashtable h = (Hashtable)Application["online"]; 


if (h == null) 

h = new Hashtable(); 



//验证用户是否在Application中存在(是否在线) 
IDictionaryEnumerator e1 = h.GetEnu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值