表单认证的工作原理
当一个用户试图访问一个使用表单认证的站点中的, 某些需要认证后才可访问的资源时, 他会被redirect到一个登录表单上. 这个页面上有登录按钮, 以及其他的一些需要用户填写的信息.
当用户按下"登录"按钮, 用户填写的信息还有其他的一些隐藏信息会被发送到一个负责认证的URL上.
这个URL上有代码, 支持读取发送给它的数据, 并确定用户是否可以访问, 如果可以, 那么就创建一块不透明的数据信息, 这块信息会随着后续的请求由客户端一起发送. 这块数据就叫做Cookie.
Cookie被用来在请求中存储数据, 从而达到保存状态的目的. 一旦得到了cookie, 客户端就会让所有后续的请求的Header中都带上这个cookie. 服务器会看到这个header, 使用解密后的信息来确定当前的请求是否被允许.
Cookie的生命期由服务器配置的, 既可以在整个Session期间都可用, 也可以限制它的生命期为指定的一个时间段.