Common Lisp Package: HUNCHENTOOT-AUTH

README:

FUNCTION

Public

Undocumented

GENERATE-HTML-LOGIN (&KEY USER PASSWORD)

GET-REALM-USER (REALM NAME)

GET-REALM-USER-NAMES (REALM)

GET-REALM-USERS (REALM)

SESSION-REALM-USER (REALM)

SETFSESSION-REALM-USER (VALUE REALM)

SESSION-REALM-USER-AUTHENTICATED-P (REALM)

SETFSESSION-REALM-USER-AUTHENTICATED-P (VALUE REALM)

Private

RANDOM-STRING (LENGTH)

Return a random string of the characters [a-zA-Z] of the specified length.

Undocumented

CREATE-AUTHORIZED-DISPATCHER (URI-BASE REALM DISPATCHER &KEY (USE-SSL T) SSL-PORT (LOGIN-PAGE-FUNCTION 'LOGIN-PAGE))

GET-REALM-GROUP-NAMES (REALM)

GET-REALM-GROUPS (REALM)

HASH-KEYS (HASH)

HASH-VALUES (HASH)

LOGIN-PAGE (&KEY (TITLE Login))

PARSE-HOST-NAME-AND-PORT (HOST-AND-PORT)

MACRO

Public

Undocumented

AUTHORIZED-PAGE ((REALM &KEY (USE-SSL T) SSL-PORT (LOGIN-PAGE-FUNCTION 'LOGIN-PAGE)) &REST BODY)

Private

WITH-HTML (&BODY BODY)

Executes BODY inside a cl-who:with-html-output body.

WITH-HTML-PAGE (&BODY BODY)

Executes BODY inside a cl-who:with-html-output-to-string body, directing the output to *standard-output* and setting :prologue to t.

GENERIC-FUNCTION

Public

ADD-GROUP (REALM GROUP)

Adds a new group named group with the specified realm.

ADD-USER (REALM USER PASSWORD &KEY FULL-NAME)

Adds a new user with the specified password in this realm.

CHECK-PASSWORD (REALM USER PASSWORD)

Returns T if the given user/password combination is valid in this realm, otherwise returns NIL.

DELETE-USER (REALM USER)

Removes the user with the specified name from this realm.

READ-REALM-GROUPS (REALM)

Read the groups for this realm from the group file.

READ-REALM-USERS (REALM)

Read the users for this realm from the password file.

SET-PASSWORD (REALM USER PASSWORD)

Sets the password for the specified user in this realm.

Private

STORE-REALM-GROUPS (REALM)

Store the groups for this realm in the group file.

STORE-REALM-USERS (REALM)

Store the users for this realm in the password file.

Undocumented

ADD-GROUP-USER (REALM GROUP USER)

SLOT-ACCESSOR

Public

Undocumented

USER-NAME (OBJECT)

SETFUSER-NAME (NEW-VALUE OBJECT)

Private

REALM-GROUP-STORAGE-PATH (OBJECT)

The path to the file in which to store the group hash-table.

SETFREALM-GROUP-STORAGE-PATH (NEW-VALUE OBJECT)

The path to the file in which to store the group hash-table.

REALM-GROUPS (OBJECT)

A hash-table for the groups for this realm. The keys are the group names (strings) and the values instances of the class group

SETFREALM-GROUPS (NEW-VALUE OBJECT)

A hash-table for the groups for this realm. The keys are the group names (strings) and the values instances of the class group

REALM-USER-STORAGE-PATH (OBJECT)

The path to the file in which to store the password hash-table.

SETFREALM-USER-STORAGE-PATH (NEW-VALUE OBJECT)

The path to the file in which to store the password hash-table.

REALM-USERS (OBJECT)

A hash-table for the users and passwords for this realm. The keys are the user names (strings) and the values are instances of the class user.

SETFREALM-USERS (NEW-VALUE OBJECT)

A hash-table for the users and passwords for this realm. The keys are the user names (strings) and the values are instances of the class user.

Undocumented

GROUP-NAME (OBJECT)

SETFGROUP-NAME (NEW-VALUE OBJECT)

GROUP-USERS (OBJECT)

SETFGROUP-USERS (NEW-VALUE OBJECT)

USER-FULL-NAME (OBJECT)

SETFUSER-FULL-NAME (NEW-VALUE OBJECT)

USER-PASSWORD (OBJECT)

SETFUSER-PASSWORD (NEW-VALUE OBJECT)

USER-PASSWORD-SALT (OBJECT)

SETFUSER-PASSWORD-SALT (NEW-VALUE OBJECT)

VARIABLE

Private

Undocumented

*PASSWORD-FILE-LOCK*

*PASSWORD-LOCK*

CLASS

Public

REALM

Objects of this class represent realms for which a given user/password scheme should apply.

Private

Undocumented

GROUP

USER