DESCRIPTION

        Apache::AuthCookieDBIRadius is a module that subclasses Apache::AuthCookie 
        and is designed to be directly used for authentication in a mod_perl 
        server.

        It allows you to authenticate against a DBI database -OR- your trusted NT domains
        via a Radius server using a login webpage via AuthCookie.  

        It is a ticket-issuing system that looks up username/passwords in a DBI
        database using generic SQL and issues MD5-checksummed tickets valid for
        a configurable time period.  Incoming requests with tickets are
        checksummed and expire-time checked.

        Upon failure, it then checks a Radius server for authentication.
        (You do not need to run a Radius server to use this.  Actually, 
        Radius authentication is commented out by default.  Uncomment the
        Radius lines in AuthCookieDBIRadius.pm if you intend to use this method
        along with a DBI database.  Most won't be using this method.  You'll need to 
        get Radius authentication working first before using AuthCookieDBIRadius.
        See Apache-AuthenRadius, Authen::Radius and http://www.funk.com/radius/.)

        Included is a sample httpd.conf and login.pl for your review. 

AUTHCOOKIE

        Also included is a slightly customized AuthCookie.pm based on AuthCookie 3.0.  
        Replace with your existing AuthCookie.pm for added customized error messages:

        # Please enter your username and password (default message).

        # Incorrect Password.

        # Incorrect Username (although some say this isn't a good idea, it can 
          be easily changed to Incorrect Login for the password and username).

        # ERROR! Your session has expired, or your login does not have the proper 
          access level for this webpage.

        # ERROR! Security error. Too many attempts (shared memory remembers how 
          many times the user has failed to login, locking them out after       
          X times).

        # Internal Server Error (usually from an error in the configuration.
          Error number will tell you exactly where you went wrong.) 

        # ERROR! No Password Supplied.

        # ERROR! No Username Supplied.

        # ERROR! Password did not match.
     
        # ERROR! Authentication Failure (meaning DBI and Radius failed).

Grab $TICKET from the %ENV:

$TICKET = $ENV{TICKET} || $ENV{REDIRECT_TICKET}; @split = split(/:/, $TICKET);
# userid:2000-10-04-09-50-14:2000-10-05-09-50-14:y:y:y:y:n:n:n:n:2852b07llladf # 0 = Username
# 1 = issue date
# 2 = expiration date
# 3 = activeuser
# 4 = a
# 5 = b
# 6 = c
# 7 = d
# 8 = e
# 9 = f

# 10 = g
# 10 = key

Now you can issue content based on the users access level.

DEMO

AuthCookieDBIRadius is currently in production at http://www.s1te.com/secure/.

SEE ALSO

        perldoc Apache::AuthCookieDBIRadius
        Apache::AuthCookie
        Apache::AuthCookieDBI