Home | History | Annotate | only in /website/auth
Up to higher level directory
NameDateSize
.hgignore31-Mar-2009420
AuthClient/09-Dec-2008
AuthClientTest/09-Dec-2008
AuthCommon/09-Dec-2008
AuthDb/09-Dec-2008
AuthSSL/09-Dec-2008
AuthWebapp/23-Jan-2009
AuthWebClientTest/09-Dec-2008
AuthXWiki/13-Jan-2009
CA/20-Feb-2009
DataMigration/04-Mar-2009
DevelCerts/06-Jan-2009
Documents/09-Dec-2008
Libraries/09-Apr-2009
Licenses/09-Dec-2008
LICENSES.txt23-Jan-20093.3K
loc04-Apr-2009376
Python/25-Mar-2009
README.txt06-Jan-20096.6K
XMLRPCTests/09-Dec-2008

README.txt

      1 OpenSolaris Authentication and Authorisation System
      2 ###################################################
      3 
      4 Overview
      5 ========
      6 
      7 This repository contains the system used to manage opensolaris.org
      8 authentication and authorisation, for both users and applications.
      9 
     10 See http://auth.opensolaris.org
     11 
     12 Getting started
     13 ===============
     14 
     15 Auth webapp
     16 -----------
     17 
     18 Prerequisites
     19 .............
     20 
     21 1. A version of the Java 6 JDK (should be included with any recent ON build).
     22 
     23 2. The unlimited strength JCE policy files - these give access to strong crypto
     24    ciphers, rather than the limited-strength defaults shipped with the JDK.
     25    These can be obtained from the 'Other Downloads' section of
     26    http://java.sun.com/javase/downloads/index.jsp
     27 
     28 3. An installed copy of NetBeans 6.5, including the Tomcat server.  The version
     29    of NetBeans that ships with OpenSolaris does not include the bundled Tomcat
     30    server, and whilst it should be ossible to configure NetBeans to use the
     31    Tomcat bundled with Solaris, the Solaris version is an older version than
     32    the one that ships with NetBeans,  The recommendation  is therefore to
     33    install NetBeans from http://www.netbeans.org/downloads/index.html, the
     34    'Java' bundle.
     35 
     36 Running
     37 .......
     38 
     39 1. Open the AuthWebapp project in NetBeans (File->Open Project).  Make sure the
     40    'Open as Main Project' and 'Open Required Projects' checkboxes are selected.
     41 
     42 2. Press F6.  NetBeans will build the project and its dependencies, start
     43    Tomcat and deploy the app.  The app will then start up an embedded database
     44    server and create a new database under /tmp/auth.  The database will be
     45    populated with some test data.  When that is complete NetBeans will then open
     46    browser window containing the front page of the application.
     47 
     48 3. There is also a test XMLRPC client in the AuthClientTest project.  To run it,
     49    right-click on the project in the Projects window and select 'Run Project'.
     50 
     51 Cleanup
     52 .......
     53 
     54 You can safely delete everything under /tmp/auth when you are done, it will be
     55 recreated the next time you run the application.
     56 
     57 CA application
     58 --------------
     59 
     60 To build the application, run the Makefile in the CA directory, then run
     61 CA/bin/ca to start the application.  This is a text menu application that can
     62 be used to manage certificates.  See the application help menus help for more
     63 details.
     64 
     65 Other tips
     66 ==========
     67 
     68 Auth database
     69 -------------
     70 
     71 If you want to poke around in the database, I can strongly recommend the
     72 SQuirreL SQL client - http://www.squirrelsql.org/.  This is a Java-based GUI
     73 application that lets you browse databases - anything you can get a JDBC driver
     74 for.  To configure it:
     75 
     76 1. Get the appropriate JDBC driver.  You can find a copy of the Derby one in
     77    the SVN repo at new_site/AuthDB/lib/derbyclient.jar.  I generally  create a
     78    drivers subdirectory in my SQuirreL install directory and put a copy in
     79    there.
     80 
     81 2. Make sure the webapp is running, the database is embedded in the webapp, so
     82    the webapp needs to be active. (F6 in NetBeans)
     83 
     84 3. Open the Drivers window (Windows->View Drivers) and click on the 'Apache
     85    Derby Client' entry.  Click on the 'Extra Class Path' tab, then 'Add' and
     86    browse to the derbyclient.jar file.
     87 
     88 4. Open the Aliases window (Windows->View Aliases) and click on the '+' (Create
     89    new Alias).  Fill in the form as follows:
     90 
     91     Name: opensolaris
     92     Driver: Apache Derby Client
     93     URL: jdbc:derby://localhost/opensolaris;securityMechanism=8
     94     User Name: auth
     95     Password: auth
     96     Auto Logon: selected
     97 
     98 5. Click on the 'Test' button to check the connection works, then on 'OK'.
     99 
    100 6. In the Aliases window, double click on the 'opensolaris' alias to open the
    101    database.  The database tables are in the 'AUTH' schema.
    102 
    103 Directory contents
    104 ==================
    105 
    106 File LICENSES.txt
    107 -----------------
    108 
    109 Information on the licenses used by various components of the Auth application.
    110 
    111 Subdirectory AuthClient
    112 -----------------------
    113 
    114 This NetBeans project provides a client library for applications that want to
    115 make XMLRPC requests to the Auth service.
    116 
    117 Subdirectory AuthClientTest
    118 ---------------------------
    119 
    120 This NetBeans project provides a simple command-line client to test the basic
    121 client functionality.
    122 
    123 Subdirectory AuthCommon
    124 -------------------------
    125 
    126 This NetBeans project holds the Apache XMLRPC libraries, as well as common code
    127 that is used by both the XMLRPC server and clients.  This code includes al the
    128 POJO classes used to store data, classes for managing data pagination and the
    129 xlasses used to provide the XMLRPC interface.
    130 
    131 Subdirectory AuthDB
    132 -----------------------
    133 
    134 This NetBeans project contains the code used to create and manage the
    135 opensolaris user database.  It uses the Derby database package, and runs
    136 embedded within the Auth webapp.
    137 
    138 Subdirectory AuthSSL
    139 -----------------------
    140 
    141 This NetBeans project provides a library that manages the creation of SSL
    142 connections for either client or server use.  Rather than using the global JVM
    143 keystore, this library allows a specific keystore to be used for the conections
    144 it creates.  This project also contains the classses needed to manage the
    145 keystores used by SSL connections, and the source of the keystore command-line
    146 utility.
    147 
    148 Subdirectory AuthWebapp
    149 -----------------------
    150 
    151 This NetBeans project contains the Auth service.  This consists of a web
    152 application that manages users and services, using an embedded Derby database.
    153 It also provides a XMLRPC server that provides authentication and authorisation
    154 services to other applications.
    155 
    156 Subdirectory AuthWebClientTest
    157 ------------------------------
    158 
    159 Simple web application that acts as a test Auth client.
    160 
    161 Subdirectory AuthXWiki
    162 ----------------------
    163 
    164 Code for integrating Auth support into XWiki.
    165 
    166 Subdirectory CA
    167 ---------------
    168 
    169 This is a Certificate Authority, used to issue X509 certificates.  These
    170 certificates are in turn used to secure and control the communications between
    171 the Auth system and client applications.
    172 
    173 Subdirectory DataMigration
    174 --------------------------
    175 
    176 This NetBeans project contains a utility to migrate data from the existing Tonic
    177 database into the Auth database.  It is run from the command-line.
    178 
    179 Subdirectory DevelCerts
    180 -----------------------
    181 
    182 Certificates for development and test purposes.
    183 
    184 Subdirectory Documents
    185 ----------------------
    186 
    187 Contains design documents for the Auth application.
    188 
    189 Subdirectory Libraries
    190 ----------------------
    191 
    192 Shared libraries used by the NetBeans projects.
    193 
    194 Subdirectory Licenses
    195 ---------------------
    196 
    197 Licenses used by various components of the Auth application.
    198 
    199 Subdirectory XMLRPCTests
    200 ------------------------
    201 
    202 This NetBeans project holds simple stand-alone test classes that can be used to
    203 check the end-to-end SSL and XMLRPC functionality is working.
    204