home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.rsa.com
/
2014.05.ftp.rsa.com.tar
/
ftp.rsa.com
/
pub
/
partner_engineering
/
ClearTrust
/
Oracle
/
9iasR1
/
ssoxct.pkb
< prev
Wrap
Text File
|
2014-05-02
|
4KB
|
185 lines
Rem
Rem $Header: ssoxnete.pkb 26-mar-01.17:13:19 gbhatia Exp $
Rem
Rem ssoxnete.pkb
Rem
Rem Copyright (c) Oracle Corporation 2001. All Rights Reserved.
Rem
Rem NAME
Rem ssoxnete.pkb - Single Sign-On RSA Security ClearTrust Integration
Rem
Rem DESCRIPTION
Rem This package body is used to achieve integration with RSA Security
Rem ClearTrust. It may be customized as required. This is just a default
Rem implementation and changes might be required based on customer's
Rem specific deployment scenario.
Rem NOTES
Rem
Rem
Rem MODIFIED (MM/DD/YY)
Rem gbhatia 03/26/01 - Creation
CREATE OR replace PACKAGE BODY wwsso_auth_external AS
GLOBAL_SEPARATOR CONSTANT varchar2(1) := '~';
/* This function needs to be implemented to provide a DN
* to UID mapping. One way to do this mapping is to lookup
* the UID for a given DN in the directory
*/
FUNCTION map_dn_to_uid(p_user_dn IN VARCHAR2)
return VARCHAR2
IS
BEGIN
-- NULL implementation by default
raise EXT_AUTH_FAILURE_EXCEPTION;
return p_user_dn;
END map_dn_to_uid;
FUNCTION authenticate_user
(
p_user OUT VARCHAR2
)
return PLS_INTEGER
IS
l_http_header varchar(1000);
l_ssouser wwsec_person.user_name%type := NULL;
BEGIN
l_http_header := owa_util.get_cgi_env('HTTP_CT_REMOTE_USER');
debug_print('ClearTrust ID : ' || l_http_header);
/*
if l_http_header IS NULL then user may be authenticated by PKI
in ClearTrust so check the DN header
*/
IF (l_http_header is NULL) THEN
BEGIN
debug_print('check if user authenticated using PKI');
l_http_header := owa_util.get_cgi_env('HTTP_CT_REMOTE_USER');
l_ssouser := map_dn_to_uid(l_http_header);
END;
ELSE
l_ssouser := l_http_header;
END IF;
IF ( (l_ssouser IS NULL) or
( INSTR(l_ssouser, GLOBAL_SEPARATOR) != 0) ) THEN
debug_print('malformed user id: '
|| l_ssouser
|| ' returned by wwsso_auth_external.authenticate_user');
RAISE EXT_AUTH_FAILURE_EXCEPTION;
ELSE
p_user := NLS_UPPER(l_ssouser);
return 0;
END IF;
EXCEPTION
WHEN OTHERS THEN
debug_print('unknown exception in authenticate_user(p_user)'
|| sqlerrm);
RAISE EXT_AUTH_FAILURE_EXCEPTION;
END authenticate_user;
FUNCTION authenticate_user
(
p_user IN VARCHAR2,
p_password IN VARCHAR2
)
RETURN PLS_integer
IS
BEGIN
raise EXT_AUTH_FAILURE_EXCEPTION;
END authenticate_user;
PROCEDURE get_configuration
(
p_config OUT ext_config
)
AS
BEGIN
null;
-- p_config := NULL;
END get_configuration;
PROCEDURE change_passwd
(
p_user IN VARCHAR2,
p_oldpwd IN VARCHAR2,
p_newpwd IN VARCHAR2
)
AS
BEGIN
raise EXT_NOT_SUPPORTED_EXCEPTION;
EXCEPTION
WHEN OTHERS THEN
RAISE EXT_CHANGE_PASSWORD_EXCEPTION;
END change_passwd;
FUNCTION enforce_account_policies
RETURN BOOLEAN
IS
BEGIN
return FALSE;
END enforce_account_policies;
PROCEDURE reset_passwd
(
p_user IN VARCHAR2
, p_passwd IN VARCHAR2
)
IS
BEGIN
raise EXT_NOT_SUPPORTED_EXCEPTION;
END reset_passwd;
FUNCTION get_authentication_name
RETURN VARCHAR2
AS
BEGIN
RETURN 'RSA Security ClearTrust';
END get_authentication_name;
PROCEDURE set_external_cookies
(
p_username IN VARCHAR2
, p_password IN VARCHAR2
, p_cookie_list OUT wwsso_ls_private.cookie_list
)
AS
BEGIN
null;
END set_external_cookies;
END;
/
show errors;