mod_auth_ora7 1.0 review
Downloadmod_auth_ora7 is an Oracle Authentication Module. I wrote this module because currently there is no module to do this
|
|
mod_auth_ora7 is an Oracle Authentication Module.
I wrote this module because currently there is no module to do this. You can do it with mod_perl and the DBI interfaces therein. However, compiling in a copy of Perl seems like a bit of an overkill just for a simple authentication routine such as this.
This Module is largely based on the mod_auth_msql module and as a result all of it's copyright appears below. I'm releasing this code under the same licensing agreements as is set forth above in the original Apache Group license.
For the most recent information on this module please look at: http://www.vecdev.com/mod_auth_ora7/
Credit is due to the following individuals for their work on the mod_auth_msql prior to my adaptation: Rob McCool, Brian Behlendorf, rst, and Dirk VanGulik
Quick Compilation Instructions:
Make the followin modifcations to the Configuration File:
In EXTRA_CFLAGS add: -DORACLE_HOME="$(ORACLE_HOME)"
Yes the s and "s stay
In EXTRA_LFLAGS add: -L$(ORACLE_HOME)/lib
In EXTRA_LIBS add: -lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 -lsocket -lnsl -lm -ldl -lc -laio -lposix4 -lm -lcore3
Yes there are dupilicates in there... don't ask me why it just doesn't work unless they are there, be sure that this is all on one line and that they are in the same order I've given them to you.
In EXTRA_INCLUDES add: -I$(ORACLE_HOME)/rdbms/demo
Add a line that says: Module ora7_auth_module mod_auth_ora7.o
This can go just about anywhere but right around the other auth modules is a good idea.
Ensure that you have the ORACLE_HOME enviornment variable set properly!
Run the Configure script.
Run make
No guarantee that this will work... I've only tested this personally on my machine, however many of the decisions as far as where to grab things were matched with DBD::Oracle of the Perl variety. So I'm hoping this will be somewhat universal. FYI: My development platform was Solaris 2.6 X86, Oracle 7.3.2.3, Apache 1.2.4, and gcc 2.7.2.3... All other platforms are at your own risk.
Outline:
This module allows access control using the commercial Oracle7 database.
An example table could be:
create table user_records (
user_id varchar2(32) primary key,
passwd varchar2(32),
grp varchar2(32)
);
The user_id can be as long as desired; however some of the popular web browsers truncate, or stop the user from entering names longer than 32 characters. Furthermore the 'crypt' function on your platform might impose further limits. Also use of the 'require users uid [uid..]' directive in the access.conf file, where the user ids are separated by spaces can possibly prohibit the use of spaces in your user-names. Also, not the MAX_FIELD_LEN define somewhere below.
To use the above, the following example could be in your access.conf file. Also there is a more elaborate description afther this example.
Requirements:
Oracle 7
Apache 1.2
mod_auth_ora7 1.0 keywords