I see two main audiences for this release: those who want to use it as-is and those who are looking for examples of JAAS modules on which to base their own implementations. In either event if you have any comments to make or anything to contribute please get in touch with me, Andy Armstrong.
This release contains three login modules. com.tagish.auth.DBLogin is also platform independent and allows users to be authenticated against a JDBC data source. com.tagish.auth.FileLogin is platform independent and allows users to be authenticated against a text file containing usernames, passwords and roles. com.tagish.auth.win32.NTSystemLogin is a Windows NT/2000 specific login module that allows users to be authenticated against an NT domain.
DBLogin
{
com.tagish.auth.DBLogin required dbDriver="sun.jdbc.odbc.JdbcOdbcDriver" dbURL="jdbc:odbc:DBLogin";
};
The following parameters may be specified:
| dbDriver | The name of the JDBC driver to load to access the database | required |
| dbURL | The JDBC connection URL to use when accessing the database | required |
| dbUser | The username to connect to the database with | optional |
| dbPassword | The password to connect to the database with | optional |
| userTable
roleMapTable roleTable |
The names of the tables which default to "User", "RoleMap" and "Role" | optional |
A user logged on using this module will have a number of Principals (actually com.tagish.auth.TypedPrincipal) associated with them. Firstly there will be a USER Principal representing the user's name. Additionally there will be a GROUP principal for each role that is associated with the user.
# Passwords for com.tagish.auth.FileLogin test1:5a105e8b9d40e1329780d62ea2265d8a:root:administrator test2:ad0234829205b9033196ba818f7a872bThis example contains details for two users test1 and test2 with passwords of "test1" and "test2" respectively. Notice that the password is stored as an MD5 hash of the plain text. User test1 has roles "root" and "administrator" while test2 has no roles.
The FileLogin module is configured with an entry in the config file like this
FileLogin
{
com.tagish.auth.FileLogin required debug=true pwdFile="/path/to/passwd";
};
The following parameters may be specified:
| pwdFile | The name of the password file | required |
As with DBLogin a user logged on using this module will have a number of Principals (actually com.tagish.auth.TypedPrincipal) associated with them. There will be a USER Principal representing the user's name and a GROUP principal for each role that is associated with the user.
The NTSystemLogin module is configured with an entry in the config file like this
NTLogin
{
com.tagish.auth.win32.NTSystemLogin required returnNames=true returnSIDs=false defaultDomain="domain";
};
The following parameters may be specified:
| returnNames | Principals with human readable names will be created | optional |
| returnSIDs | Principals with names in NT SID format will be created | optional |
| defaultDomain | Domain to authenticate against. If this is ommitted the module will raise a TextInputCallback to request the Domain if it is not supplied here. | optional |
A user logged on using this module will have a number of Principals (actually com.tagish.auth.win32.NTPrincipal) associated with them. There will be a USER Principal representing the user's name, a GROUP principal for each NT group the user is a member of and a DOMAIN Principal representing the NT Domain that authenticated the user..
Andy Armstrong, Tagish Ltd, 30th May 2001