轻量级单点登录系统最佳实践(八)——5.3. 企业门户系统系统演示SSOLab.Portal.WebApp
2009-05-04 20:04
507 查看
l Default.aspx企业门户系统首页。显示当前用户信息和应用系统链接。
l Default.aspx.cs企业门户系统首页后台代码。
l SSOController.aspxs企业门户系统单点登录控制页。使用<script type="text/javascript" src="http://localhost:7771/SSOSite/SSOContext.aspx?app=portal"> </script>形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。
l SSOController.aspx.cs企业门户系统单点登录控制页后台代码。接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。
Default.aspx
Code
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using SSOLab.SSOServer.Components;
using System.Xml;
namespace SSOLab.Portal.WebApp
{
public partial class SSOController : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request.Params["isSubmit"]) && Request.Params["isSubmit"] == "1")
{
try
{
string ssoKey = "Xj1wD4DT7UicRVxOBJdjAg2AjErHkoEDlB9GqMJtYMwbfbnc9slagStcVt0Y3lY0XVKDnn6nO9cnCPDwM0tJU6iCBlWEoomDfjAjhobLurOxHR8ua8a25NGNQXQ1Q34X";
string userInfo = SSOUtil.DESDecrypt(Request.Params["sso_userinfo"], ssoKey.Substring(ssoKey.Length / 2 - 1, 8));
Response.Write(userInfo);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(userInfo);
if (xmlDoc.SelectSingleNode("/userinfo/islongin").InnerText == "true")
{
FormsAuthentication.RedirectFromLoginPage(xmlDoc.SelectSingleNode("/userinfo/username").InnerText, false);
}
else
{
string returnUrl = SSOUtil.GetHostUrl() + FormsAuthentication.LoginUrl;
Response.Redirect(Request.Params["sso_signinurl"] + "?ReturnUrl=" + HttpUtility.UrlEncode(returnUrl));
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
}
}
l Default.aspx.cs企业门户系统首页后台代码。
l SSOController.aspxs企业门户系统单点登录控制页。使用<script type="text/javascript" src="http://localhost:7771/SSOSite/SSOContext.aspx?app=portal"> </script>形式Get单点登录系统上下文信息,自动绑定到Form相应字段并自动提交到后台。
l SSOController.aspx.cs企业门户系统单点登录控制页后台代码。接受前台提交的信息,对用户信息进行解密,判定当前用户是否登录。如果已登录返回系统首页,如果没有登录,跳转到单点登录系统登录页。
Default.aspx
Code
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using SSOLab.SSOServer.Components;
using System.Xml;
namespace SSOLab.Portal.WebApp
{
public partial class SSOController : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(Request.Params["isSubmit"]) && Request.Params["isSubmit"] == "1")
{
try
{
string ssoKey = "Xj1wD4DT7UicRVxOBJdjAg2AjErHkoEDlB9GqMJtYMwbfbnc9slagStcVt0Y3lY0XVKDnn6nO9cnCPDwM0tJU6iCBlWEoomDfjAjhobLurOxHR8ua8a25NGNQXQ1Q34X";
string userInfo = SSOUtil.DESDecrypt(Request.Params["sso_userinfo"], ssoKey.Substring(ssoKey.Length / 2 - 1, 8));
Response.Write(userInfo);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(userInfo);
if (xmlDoc.SelectSingleNode("/userinfo/islongin").InnerText == "true")
{
FormsAuthentication.RedirectFromLoginPage(xmlDoc.SelectSingleNode("/userinfo/username").InnerText, false);
}
else
{
string returnUrl = SSOUtil.GetHostUrl() + FormsAuthentication.LoginUrl;
Response.Redirect(Request.Params["sso_signinurl"] + "?ReturnUrl=" + HttpUtility.UrlEncode(returnUrl));
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
}
}
相关文章推荐
- 轻量级单点登录系统最佳实践(十)——5.5. 财务管理系统演示SSOLab. APP2. WebApp
- 轻量级单点登录系统最佳实践(十一)——5.6.网上办公系统演示App3 (Java)
- 轻量级单点登录系统最佳实践(七)——5.2. 单点登录系统SSOLab.SSOServer.WebApp
- 轻量级单点登录系统最佳实践(九)——5.4. 人力资源管理系统演示SSOLab. APP1. WebApp
- 轻量级单点登录系统最佳实践(四)——第3章 Web-SSO通常实现方式
- 轻量级单点登录系统最佳实践(六)——5.1. 公共组件SSOLab.SSOServer.Components
- 轻量级单点登录系统最佳实践
- 第4.1.1章 WEB系统最佳实践页面实例-bootstrap登录页面
- 轻量级单点登录系统最佳实践(三)——第2章 单点登录简介
- 轻量级单点登录系统最佳实践——代码下载
- 轻量级单点登录系统最佳实践
- 轻量级单点登录系统最佳实践(五)——第4章 轻量级单点登陆系统简介
- 轻量级单点登录系统最佳实践(一)——目录
- 轻量级单点登录系统最佳实践(二)——第1章 前言
- 第3.1.4章 WEB系统最佳实践 js控件之bootstrap-suggest-plugin
- 第3.1.1章 WEB系统最佳实践 js控件之slimScroll的使用
- 第2.1.5章 WEB系统最佳实践Spring文件配置之spring-mvc.xml
- activeMQ实践(五)--企业系统的最佳实践
- 第3.1.2章 WEB系统最佳实践 js控件之requirejs的使用
- 第2.1.3章 WEB系统最佳实践Spring文件配置之spring-dao.xml