`
chenqingwei
  • 浏览: 33262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SSO与用户登录问题容易混淆

    博客分类:
  • NET
阅读更多
单点登陆(SSO),多个系统一次登陆权限均配,  
  彼此访问无需要再次登陆!  
  大多都是用webservice实现令牌传递,跨系统,跨平台的权限验证。

用数据表实时性不是很好,要总刷新,数据库压力大  
  如果程序出错,比如操作数据库失败,就不准确了  
   
  用Application比较好,但是频繁操作Application会对网站的性能有影响  
   
  最好的办法就是设置一个静态变量  
  asp.net的静态变量就是为了干这个的  
  因为静态变量是类的全部实例共享的  
   
  我用这种方法写了一段代码,这段代码是适用于windows验证的情况,代码编译通过,我没有测试,但是道理是这样的。  
  -------------------------------------------------------------------------------  
  1.   定义一个通用类  
   
   
  using   System;  
  using   System.Collections;  
   
  namespace   Web  
  {  
  ///   <summary>  
  ///   CheckUserLogon   的摘要说明。  
  ///   </summary>  
  public   class   CheckUserLogon  
  {  
   
  public   static   Hashtable   userList   =   new   Hashtable();  
   
  public   CheckUserLogon()  
  {  
  //  
  //   TODO:   在此处添加构造函数逻辑  
  //  
  }  
   
  public   static   void   AddUserList(   string   user   )  
  {  
  userList.Add(   user   ,   "online"   );  
  }  
   
  public   static   void   RemoveUserList(   string   user   )  
  {  
  userList.Remove(   user   );  
  }  
   
  public   static   bool   CheckUserLogined(   string   user   )  
  {  
  if   (   userList.ContainsKey(   user   )   )  
  {  
  return   true;  
  }  
  else  
  {  
  return   false;  
  }  
  }  
   
   
  }  
  }  
   
  2.在Global.asax中修改session_start()和session_end()  
   
  protected   void   Session_Start(Object   sender,   EventArgs   e)  
  {  
  if   (   CheckUserLogon.CheckUserLogined(   this.User.Identity.ToString()   )   )  
  {       //如果已经有同名用户登录,就清空session,这样用户就不能使用  
  this.Session.Clear();  
  }  
  else  
  {       //如果没有同名用户登录,就记录当前用户  
  CheckUserLogon.AddUserList(   this.User.Identity.ToString()   );  
  }  
  }  
   
   
  protected   void   Session_End(Object   sender,   EventArgs   e)  
  {  
  CheckUserLogon.RemoveUserList   (   this.User.Identity.ToString()   );  
  }  
   
   

  if   (   CheckUserLogon.CheckUserLogined(   this.User.Identity.ToString()   )   )  
  {       //转到另一个页面,这里提示用户已经有同名用户登录  
                                                                this.Response.Redirect("aaa.aspx")  
  }  
  else  
  {       //如果没有同名用户登录,就记录当前用户  
  CheckUserLogon.AddUserList(   this.User.Identity.ToString()   );  
  }
分享到:
评论

相关推荐

    spring boot 实现SSO单点登陆

    spring boot整合spring security 实现SSO单点登陆 完整DEMO. 1、配置本地hosts 127.0.0.1 sso-login 127.0.0.1 sso-resource 127.0.0.1 sso-tmall 127.0.0.1 sso-taobao windows系统的路径在C:\WINDOWS\system...

    sso单点登录

    单点登录(Single Sign-On,简称SSO)是一种网络访问控制机制,允许用户在一次登录后,无需再次认证即可访问多个相互信任的应用系统。这种方式极大地提高了用户体验,减少了用户记忆和输入多个账号密码的麻烦,同时...

    SSO单点登陆解决方案

    SSO单点登录解决方案 SSO(Single Sign-On)单点登录解决方案旨在提供一个统一的身份验证入口,满足集团多个成员网站的身份验证需求。该方案的主要目标是实现单点登录,提高用户体验,降低成员网站的登录负载,并...

    SSO 单点登录(java)

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后,能够访问多个相互关联的应用系统,而无需再次输入凭证。在Java环境下实现SSO,通常涉及以下几个核心知识点: 1. **原理**:SSO的核心思想...

    SSO单点登陆源代码用户控件

    在本资源中,"SSO单点登陆源代码用户控件"是针对Moss(Microsoft Office SharePoint Server)平台设计的,它能够帮助用户在Moss环境中实现单点登录功能。 Moss是微软提供的一款基于SharePoint的企业协作和内容管理...

    SSO单点登录

    SSO(Single Sign-On)单点登录是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。这个技术在现代企业信息化建设中扮演着重要角色,因为它提供了便捷的用户体验,同时...

    关于SSO单点登录的简单实现

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。这个过程提高了用户体验,同时也简化了安全管理。在本文中,我们将探讨SSO的基本原理...

    sso单点登陆1

    总之,SSO通过集中化的身份验证管理,实现了多系统间的便捷登录,但同时也需要处理好安全性问题,以保护用户的账号安全。在实际应用中,可以根据企业需求选择适合的SSO实现方式和技术栈,如CAS、Keycloak、OAuth2等...

    SSO单点登录实现与实现原理

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在多个相互关联的应用系统中只需要登录一次,即可访问所有系统,而无需再次输入凭证。这种技术在现代企业环境中非常常见,因为它提供了便捷的用户体验并...

    C#单点登陆组件源码SSO

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次验证即可访问多个相互关联的系统。在IT行业中,SSO技术广泛应用于企业级应用,提高用户体验,简化管理并增强安全...

    sso单点登录源代码

    SSO(Single Sign-On)单点登录是一种网络认证机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次输入凭证。这种技术极大地提升了用户体验,减少了记忆和输入多个用户名和密码的麻烦,同时也...

    sso.rar_DotNetCasClient.dll_sso_sso 单点登录_单点登录_鍗曠偣鐧诲綍

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证技术,允许用户在一次登录后,无需再次输入凭证即可访问多个相互关联的应用系统。在IT领域,它极大地提升了用户体验和安全性,尤其对于大型企业或组织,管理...

    SSO单点登录源码

    SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他相互信任的系统。这种技术简化了用户的登录流程,提高了用户体验,同时也降低了管理多...

    sso 单点登陆 java 动手写sso

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次进行身份验证。在Java中实现SSO,我们可以利用Spring Boot框架的强大功能,它提供了丰富的...

    SSO单点登录解决方案

    SSO(Single Sign-On)单点登录是一种网络访问控制机制,允许用户在一次登录后,无需再次认证即可访问多个相互信任的应用系统。这种技术极大地提高了用户体验,减少了密码管理的复杂性,同时也为管理员提供了更高效...

    ssm redis实现sso单点登录

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis...

    sso单点登录ppt.ppt

    sso单点登录ppt.ppt

    PHPSSO是用PHP开发的单点登录系统。在接入PHPSSO的多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。PHPSSO可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制,是目前比较流行的企业业务整合的解决方案之一。

    SSO是一种身份验证机制,允许用户在登录一个应用系统后,无需再次输入凭证即可访问与其相互信任的其他应用系统。在企业环境中,这样的功能能够极大提升用户体验,同时简化管理,降低安全风险。 PHPSSO的设计目标...

    sso单点登录实例

    SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他关联的系统或应用。这大大提升了用户体验,减少了用户记忆多个密码的负担,同时也有助...

Global site tag (gtag.js) - Google Analytics