(我使用 Hunchentoot 和 Restas,只是想我也会在这里提到它)
我真的不知道如何用 HTTP 做这些事情,所以我认为发布我的代码可能是表达我意图的最简单方法:
(define-route log-in ("/log-in/" :method :post)
(multiple-value-bind (username pwd) (hunchentoot:authorization)
(cond ((and (nth-value 1 (gethash username *users*)) ;; User exists
(string= pwd (gethash username *users*)))) ;; Password is correct
;; Do something to keep track of logged in user
)))
我基本上只是想让用户登录,给他某种方式说“嘿,又是我”,以及某种方式让我说“哦,嘿!又是你,给你”和然后为用户提供网页。我认为这应该使用 cookie 来完成,并且只需将一些值存储在一个可以根据 cookie 进行检查的列表中。
我应该如何使用 Hunchentoot+Restas 正确执行此操作?代码和一些解释真的很棒,我在这里很迷茫。