==================================================================
installation of radius authentication plugin for Oracle Portal SSO
==================================================================
0. change variable $conffilename in library file - radiusbind.c, point to, e.g:
/servers/oracle/etc/radius.conf
1. compile radius C library to libradius-plugin.so
2. place libradius-plugin in lib directory, e.g: /servers/oracle/lib
3. update create_library.sql to point to installed libradius-plugin.so
CREATE OR REPLACE LIBRARY C_radius_auth AS '/servers/oracle/lib/libradius-plugin.so';
4. place radius.conf under directory, e.g:
/servers/oracle/etc
[oracle@portal bin]$ cat /servers/oracle/etc/radius.conf
radiusstaffserver igloo.its.unimacq.edu.au
radiusstaffport 1645
radiusstaffsecret Damn!!!
radiusstafftimeout 10
radiusstudentserver igloo.its.unimacq.edu.au
radiusstudentport 1645
radiusstudentsecret Shit!!!
radiusstudenttimeout 10
5. start oracle database, directory (LDAP) server, login database as
user "sysdba"
[oracle@portal bin]$ ./sqlplus
SQL*Plus: Release 9.0.1.3.0 - Production on Thu Feb 27 15:05:18 2003
(c) Copyright 2001 Oracle Corporation. All rights reserved.
Enter user-name: / as sysdba
Connected to:
Oracle9i Enterprise Edition Release 9.0.1.3.0 - Production
With the Partitioning option
JServer Release 9.0.1.3.0 - Production
SQL> select * from all_users;
USERNAME USER_ID CREATED
------------------------------ ---------- ---------
...
ODS 51 28-MAY-02
...
change password for user ODS:
SQL> password ODS
Changing password for ODS
New password: **Famous password for CWIS**
Retype new password: **Famous password for CWIS**
Password changed
grant create library privillege to ODS:
SQL> grant CREATE ANY LIBRARY to ODS;
Grant succeeded.
Login as User ODS:
[oracle@eclectic bin]$ ./sqlplus
SQL*Plus: Release 9.0.1.3.0 - Production on Thu Feb 27 15:26:02 2003
(c) Copyright 2001 Oracle Corporation. All rights reserved.
Enter user-name: ODS
Enter password:
Connected to:
Oracle9i Enterprise Edition Release 9.0.1.3.0 - Production
With the Partitioning option
JServer Release 9.0.1.3.0 - Production
SQL> @/servers/oracle.addon/plugins/radius-auth/plsql/add_radius_auth.sql
Library created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Function created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Table dropped.
Table created.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Package created.
Package created.
Package body created.
Grant succeeded.
Grant succeeded.
Commit complete.
Commit complete.
Commit complete.
SQL> quit
Add ldap entry in Directory Server:
[oracle@portal bin]$ cat /servers/oracle.addon/plugins/radius-auth/plsql/register_when_compare.ldif
cn=when_compare_replace,cn=plugin,cn=subconfigsubentry
objectclass=orclPluginConfig
objectclass=top
orclPluginName=ldap_test_compare
orclPluginType=operational
orclPluginTiming=when
orclPluginLDAPOperation=ldapcompare
orclPluginEnable=1
orclPluginIsReplace=1
orclPluginVersion=1.0.1
cn=when_compare_replace
orclPluginKind=PLSQL
[oracle@portal bin]$ /servers/oracle/9ias/bin/ldapadd -h portal -p 4032 -D cn=orcladmin -w Iwonttell -f /servers/oracle.addon/plugins/radius-auth/plsql/register_when_compare.ldif
do modify ****
adding new entry cn=when_compare_replace,cn=plugin,cn=subconfigsubentry
6. Restart Directory Server and Database
7. Use oidadmin add unimacq attributes and object classes in LDAP server:
Attributes:
==========
Name: unimacqdateofbirth
Object ID: 137.111.2.20
Description: User Defined Attribute
Syntax: Directory String
Name: unimacqlastnameflag
Object ID: 137.111.2.21
Description: User Defined Attribute
Syntax: Directory String
Name: unimacqpostgrad
Object ID: 137.111.0.13
Description: User Defined Attribute
Syntax: Directory String
Single Value
Name: unimacqpublisheamil
Object ID: 137.111.0.14
Description: User Defined Attribute
Syntax: Directory String
Single Value
Name: unimacqstudentnumber
Object ID: 137.111.0.16
Description: User Defined Attribute
Syntax: Directory String
Single Value
Name: unimacqsubjectcode
Object ID: 137.111.0.17
Description: User Defined Attribute
Syntax: Directory String
Object classes:
==============
Name: unimacqperson
Object ID: 137.111.16
Description: User Defined ObjectClass
Type: None
Super Class: top
Mandatory Attributes: ObjectClass, cn, sn
Optional Attributes: unimacqdateofbirth, unimacqlastnameflag, unimacqpublishemail
Name: unimacqstaff
Object ID: 137.111.4
Description: User Defined ObjectClass
Type: None
Super Class: top
Mandatory Attributes: ObjectClass, employeeNumber
Name: unimacqstudent
Object ID: 137.111.12
Description: User Defined ObjectClass
Type: None
Super Class: top
Mandatory Attributes: ObjectClass, unimacqpostgrad, unimacqstudentnumber
Optional Attributes: unimacqsubjectcode
8. Add user entries into the LDAP server:
[oracle@portal bin]$ cat /servers/oracle.addon/plugins/radius-auth/plsql/users.ldif
cn=terrence,cn=users,dc=its,dc=unimacq,dc=edu,dc=au
orclactivestartdate=20020814000000z
mail=terrence@xxxxxxxxxxxxxx
unimacqpublishemail=Y
employeenumber=027064
objectclass=top
objectclass=person
objectclass=inetorgperson
objectclass=organizationalperson
objectclass=orcluser
objectclass=orcluserv2
objectclass=unimacqperson
objectclass=unimacqstaff
displayname=Terrence Miao
departmentnumber=IT Strategies & Developments (Emerging Technologies)
sn=Miao
givenname=Tianxi
middlename=(Terrence)
cn=terrence
[oracle@portal bin]$ /servers/oracle/9ias/bin/ldapadd -h portal -p 4032 -D cn=orcladmin -w goaway -f /servers/oracle.addon/plugins/radius-auth/plsql/users.ldif
do modify ****
adding new entry cn=terrence,cn=users,dc=its,dc=unimacq,dc=edu,dc=au
Testing and debugging:
=====================
There is test C code file in library directory, just run:
[oracle@portal lib]$ ./test terrence a1b2c3 staff
And tail the log file at:
[oracle@portal lib]$ tail -f /servers/oracle/log/radius.log
In SQL/Plus, login as "ods", check:
SQL> select * from bind_log order by LOG_DATE;
and
SQL> select auth_radius_proc('terrence', 'a1b2c3', 'staff' ) from dual;
to see what cause the problem.
Good lucks...
|