用户若能成功地用自己的证书认证,则会安排一个厨师,与一个储存服务器价值的文件相对应。 该厨师向服务器证实用户是认证的。
Check how your system handles sessions, it can be done without a session cookie, too:
(pseudo-code)
if (User.Login(formUsername, formPassword)) {
SetCookie ("LoggedIn", 1, Time() + 3600);
}
现在, whi刻需要一个挂在用户身上的 lo子,如果用户有 co子,你就要检查:
(pseudo-code)
if (CookieIsSet("LoggedIn")) {
// this page can be viewed
}
else {
Redirect ("/notAuthorized");
}
如果用户表示,你可以删除 co,确定过去到期日:
(pseudo-code)
SetCookie ("LoggedIn", 1, Time() - 3600);
现在,用户无法看到内部页面,因为支票(CookieIsSet(......))将失败。 现在,职能、方法和所有细节都取决于该系统,但总是这样做:
- if credentials are ok, set a cookie
- whenever an internal page is visited, check if cookie is set
- when logging out, delete the cookie
希望这一帮助。