[Implement initial real authentication system clinton@unknownlamer.org**20080205212719] { hunk ./src/authentication.lisp 3 -;;; Very simple hack authentication system until a real one can be -;;; written +(defpclass user () + ((username :initarg :username :accessor username :index t) + (password :initarg :password :accessor password))) hunk ./src/authentication.lisp 7 -(defvar *user* "temp-admin") -(defvar *pass* "geK0onah") +(defun create-user (name password) + (make-instance 'user + :username name + :password (md5:md5sum-sequence password))) hunk ./src/authentication.lisp 13 - (if (string= name *user*) - *user*)) + (get-instance-by-value 'user 'username name)) hunk ./src/authentication.lisp 15 -(defun check-password (name pass) - (and (find-user name) (string= pass *pass*))) +(defun check-password (user-or-name password) + (let ((user (typecase user-or-name + (user user-or-name) + (t (find-user user-or-name))))) + (and user (equalp (md5:md5sum-sequence password) (password user))))) hunk ./src/packages.lisp 70 - (:export)) + (:export :user :create-user :find-user :check-password :username :password)) hunk ./tee-it-up.asd 32 - :clon)) + :clon :lame-web :md5)) }