Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the hunchentoot-auth Reference Manual, version 0.2.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:51:04 2022 GMT+0.
Next: Systems, Previous: The hunchentoot-auth Reference Manual, Up: The hunchentoot-auth Reference Manual [Contents][Index]
hunchentoot-auth This package is for implementing user authentication with passwords for the hunchentoot Common Lisp web server. The core unit of hunchentoot-auth is the realm. Currently a realm is just a persistent "bag" for holding users and their associated (hashed) passwords, along with the beginnings of support for groups. In the initial incarnation, realms use the cl-store module for storing the users and groups information for the realm. This is clearly not the most efficient approach, but works well enough for a small number of users. To create a realm, one can use a lisp expression such as: (defparamter *test-realm-directory "/tmp/myrealm/") (ensure-directories-exist *test-realm-directory*) (defparameter *test-realm* (make-instance 'ht-auth:realm :user-storage-path (merge-pathnames "users.store" *test-realm-directory*) :group-storage-path (merge-pathnames "groups.store" *test-realm-directory*))) Then to add users to the realm, one would use the following code: (ht-auth:add-user *test-realm* "alice" "secret1") This would add the user "alice" to the realm with the password "secret1". Note that the password is not directly stored in the persistent storage, but rather the password is appended to a random (per-user) salt (which is stored in the persistent database) and this salted uesr name is then hashed using the MD5 hashing algorithm. The hash of the salted password is stored in the database. To subsequently verify if a given password matches that of the user, the (per-user) salt is prepened to the candidate password, this string is then hashed and compared to the hash stored in the realm.
Next: Files, Previous: Introduction, Up: The hunchentoot-auth Reference Manual [Contents][Index]
The main system appears first, followed by any subsystem dependency.
Cyrus Harmon <ch-lisp@bobobeach.com>
BSD
0.2.1
Next: Packages, Previous: Systems, Up: The hunchentoot-auth Reference Manual [Contents][Index]
Files are sorted by type and then listed depth-first from the systems components trees.
Next: hunchentoot-auth/defpackage.lisp, Previous: Lisp, Up: Lisp [Contents][Index]
hunchentoot-auth (system).
Next: hunchentoot-auth/realm.lisp, Previous: hunchentoot-auth/hunchentoot-auth.asd, Up: Lisp [Contents][Index]
hunchentoot-auth (system).
Next: hunchentoot-auth/hunchentoot-auth.lisp, Previous: hunchentoot-auth/defpackage.lisp, Up: Lisp [Contents][Index]
defpackage.lisp (file).
hunchentoot-auth (system).
Previous: hunchentoot-auth/realm.lisp, Up: Lisp [Contents][Index]
hunchentoot-auth (system).
Next: Definitions, Previous: Files, Up: The hunchentoot-auth Reference Manual [Contents][Index]
Packages are listed by definition order.
ht-auth
Next: Indexes, Previous: Packages, Up: The hunchentoot-auth Reference Manual [Contents][Index]
Definitions are sorted by export status, category, package, and then by lexicographic order.
Next: Internals, Previous: Definitions, Up: Definitions [Contents][Index]
Next: Ordinary functions, Previous: Public Interface, Up: Public Interface [Contents][Index]
Next: Generic functions, Previous: Macros, Up: Public Interface [Contents][Index]
Next: Standalone methods, Previous: Ordinary functions, Up: Public Interface [Contents][Index]
Adds a new group named group with the specified realm.
Adds a new user with the specified password in this realm.
Returns T if the given user/password combination is valid in this realm, otherwise returns NIL.
Removes the user with the specified name from this realm.
Read the groups for this realm from the group file.
Read the users for this realm from the password file.
Sets the password for the specified user in this realm.
Next: Classes, Previous: Generic functions, Up: Public Interface [Contents][Index]
Previous: Standalone methods, Up: Public Interface [Contents][Index]
Objects of this class represent realms for which a given user/password scheme should apply.
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.
(make-hash-table :test (function equal))
The path to the file in
which to store the password hash-table.
:user-storage-path
A hash-table for the groups for this
realm. The keys are the group names (strings) and the values instances
of the class group
(make-hash-table :test (function equal))
The path to the file in
which to store the group hash-table.
:group-storage-path
Previous: Public Interface, Up: Definitions [Contents][Index]
Next: Ordinary functions, Previous: Special variables, Up: Internals [Contents][Index]
Executes BODY inside a cl-who:with-html-output body.
Executes BODY inside a cl-who:with-html-output-to-string body, directing the output to *standard-output* and setting :prologue to t.
Next: Generic functions, Previous: Macros, Up: Internals [Contents][Index]
Return a random string of the characters [a-zA-Z] of the specified length.
Next: Classes, Previous: Ordinary functions, Up: Internals [Contents][Index]
Store the groups for this realm in the group file.
Store the users for this realm in the password file.
Previous: Generic functions, Up: Internals [Contents][Index]
Previous: Definitions, Up: The hunchentoot-auth Reference Manual [Contents][Index]
Jump to: | (
A C D F G H L M P R S U W |
---|
Jump to: | (
A C D F G H L M P R S U W |
---|
Next: Data types, Previous: Functions, Up: Indexes [Contents][Index]
Jump to: | *
F G N P S U |
---|
Jump to: | *
F G N P S U |
---|
Jump to: | C D F G H P R S U |
---|
Jump to: | C D F G H P R S U |
---|