asp.net简单实现单点登录(SSO)的方法



本文实例讲述了asp.net简单实现单点登录(SSO)的方法。分享给大家供大家参考,具体如下:

单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统

CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架(耶鲁大学开发)主要用于Java Php 有兴趣大家可以研究下..

下面是一个简单实现单点登录的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void SingleUserLogin( string userName){
   //定义键值
   string key=userName;
   string value=Convert.ToString(Cache[key]);
   if (value== null ||value== string .Empty){
    //定义Cache过期时间
    TimeSpan span= new TimeSpan(0,0,HttpContext.Current.Session.Timeout,0,0);
    //第一次登陆的时候插入一个用户相关的cache值,
     HttpContext.Current.Cache.Insert(key,key, null ,DateTime.MaxValue,span,System.Web.Caching.CacheItemPriority.NotRemovable, null );
     Session[ "userName" ]=userName;
     Response.Redirect( "Main.aspx" );
   }
   else if (Cache[key].ToString()==key){
     //重复登陆
    Response.Write( "<mce:script type=" text/javascript"><!--
    alert( '您的账号已经登陆!' );window.location= 'login.aspx' ;
    // --></mce:script>");
   }
   else {
   //取消当前的session会话
     Session.Abandon();
   }
}

在Web Config 配置 窗体模式

?
1
2
3
4
5
6
7
< authentication mode = "Forms" >//mode值是Forms为定义成窗体验证
   < forms loginUrl = "Mananger/Login.aspx" name = ".ASPXAUTH" >//用户未登陆就先访问Mananger/Login.aspx页面
  </ forms >
</ authentication >
< authorization >
  < deny users = "?" />
</ authorization >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值