各应用系统单点登录支持方案

 

各应用系统单点登录支持方案
1、 序言
随着局内业务应用系统越来越多,对于某一局内用户,在不同的业务应用系统中会有多个帐户,而且在不同应用系统间切换,需要不停的登录注销,比较烦琐。
为配合局内业务应用系统整合,推出单点登录系统(SSO),将各应用系统统一到单一登录界面,登录一次,即可实现不同应用系统间的切换,不需要重复登录注销,也可提高用户体验。
 
2 、适用系统
1)考虑到目前不同系统开发语言的不同,实现的方式也有区别,目前SSO系统只支持B/S模式的应用系统,支持ASP,ASP.NET,PHP,JSP系统。
2)所有局内用户可以登录的业务应用系统(B/S)
3)所有开发或维护人员
 
3 、实现
3.1应用系统中的新用户注册中的单点登录系统关联
       该模块在第二阶段中实现
3.2应用系统中旧用户单点登录的激活
1)应用系统添加一个页面,完成帐号激活
2)页面元素有,信息提示Label,激活按钮Button,局内用户列表DropDownList。其它视情况而定
3)添加web引用,地址: http://sso.schema.gov.cn/sso_ws/sso.asmx
4)PageLoad调用web service方法GetSSOUsers加载局内用户列表,并填充到DropDownList
5)选择对应的局内用户名,激活按钮调用web service方法SSOActive
6)事例代码:向SSO开发人员索取aspx.及aspx.cs文件。(所有系统都可使用)
 
3.3应用系统中的用户密码更改
       该模块在第二阶段中实现
3.4应用系统登录
以下以asp.net为例
1) 新建一个AppLogin.aspx(或其它名称,但必须告之SSO开发人员)。
2) 添加web引用,地址: http://sso.schema.gov.cn/sso_ws/sso.asmx
3) 在AppLogin.aspx的PageLoad事件中做如下处理。
事例代码:
protected void Page_Load(object sender, EventArgs e)
{
           //接收上页传入的身份验证信息 Token
 String Token = Request.QueryString["Token"];
 //调用WEB方法取出应用系统对应用帐号LoginUserId
cn.gov.schema.sso.sso sso = new cn.gov.schema.sso.sso();
           String LoginUserId = sso.GetLoginByToken(Token);
//判断WEB方法执行是否成功,或者Token是否已生成。
if (LoginUserId == "noneLogin")
     {
        //显示信息
        this.lab_msg.Text = "SSO系统身份验证失败,登录不成功";
        //在aspx页面上提供转向应用系统登录页,使用户能直接到应用系统中登录;
        return;
     }
              //删除Token
             sso.TokenLost(Token);
            //应用系统登录信息处理,并保存对应的Session或Cookie。
//注意这里只提供用户名,在应用系统必须有一个方法根据用户名取得用户信息。
//Session[“UserInfo”] = UserInfo;
//转入对应的应用系统主页
Response.Redirect(“index.aspx”);
}
//-----------------------------------------------------
数据库和代码整理一下再发 by schema
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值