手机版

IBM跨域认证简单解决方案(2)

时间:2025-04-27   来源:未知    
字号:

跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已

a_logon.aspx(C#伪代码)

//////////////////////////////

if( !Page.IsPostBack )

return;

if( VerifyPassword( sPwd ) )

{

string sSalt = CreateSalt(12);

Session.Add("User",sName);

Session.Add("Salt",sSalt);

string sHash = Hash( sName+sPwd + sSalt,"SHA1");

Session.Add("Passport",sHash);

string sR = "<iframe> id='aa'

src='/b_auth.php?name=%sName%&salt=%sSalt%&passport=%sHash%' width='0' height='0'> </iframe>";

Response.Write( sR);

}

/////////////////////////////////////////////

b_auth.php

----------------------------------------

<?php

//---------------------------

// cookie auth in multi-domain

// Author: Lazen lau

// Mail:

// History:

// 2007-05-17 10:00 release 1.0

// Copyright (C) 2007

//---------------------------

header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); $user = $_REQUEST['name']; $salt = $_REQUEST['salt']; $passport = $_REQUEST['passport'];

$hr = "auth failed";

if( !empty($passport))

{

//get usr pwd

$pwd = "888888";

//md5

$src = $user.$pwd.$salt;

$auth = strtoupper(sha1($src));

if( $auth == $passport )

{

setcookie("ticket",$passport);

$hr = "auth suc";

IBM跨域认证简单解决方案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)