总的思想是:webseal建立了junction之后,在用户登录webseal成功,并试图访问后面应用的时候,会向后面的应用发送包,在包的头(header)里面会放入一些信息,放入什么信息是在建立junction的时候指定的。一般我们建议的方法是,只放入用户名。login界面的改造就是要应用TRUST webseal发过来的信息。
Login界面的工作过程:
后面的应用在接收到这样的包的时候,首先可以通过ip判断是不是从webseal过来的包,如果是的话,从包的头里面取出用户名,调用应用本身的用户存储机制,确定这个用户是不是一个有效用户,如果是的话,就让这个用户正常登录,如果不是的话就拒绝,或是弹出对话框,让用户再次输入。
--------------------------------------------------------------------
Please refer to the PHP and JSP sample code.
PHP example:
***********************************************
/* Check for values in $PHP_AUTH_USER and $PHP_AUTH_PW */
if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) {
/* No values: send headers causing dialog box to appear */
header('WWW-Authenticate: Basic realm="My Private Stuff"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
} else if ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){
/* Values contain some values, so check to see if they're correct */
if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) {
/* If either the username entered is incorrect, or the password entered is incorrect, send the headers causing dialog box to appear */
header('WWW-Authenticate: Basic realm="My Private Stuff"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
} else if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) {
/* if both values are correct, print success message */
echo "
You're authorized!
";}
}
?>
*************************************************************
JSP Example:
*************************************************************
String pass="Basic YWRtaW46MTIzNDU2";//这是base64加密后的,此表示为:用户:admin 密码:123456
if(request.getHeader("Authorization")==null)
{
response.setStatus(401);
response.setHeader("WWW-authenticate","Basic realm="请输入管理员密码"");
} else if( !(request.getHeader("Authorization").equals(pass)))
{
response.setStatus(401);
response.setHeader("WWW-authenticate","Basic realm="用户名或者...");
}
*************************************************************
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8933363/viewspace-929679/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8933363/viewspace-929679/