Session 使用Cookies和会话处理用户登录

Session 使用Cookies和会话处理用户登录,session,authentication,cookies,Session,Authentication,Cookies,我有一个用active directory验证用户身份的网站。本网站仅供公司内部使用,不包含任何敏感信息。该网站使用SSL进行安全保护。当用户登录时,其用户名和密码将通过POST传输到服务器。然后,我将他/她的用户名存储在一个会话cookie中,TTL为1天,通过每个web操作刷新。从这一点开始,每个网页都会检查这个带有用户名的cookie是否存在。如果有,它将允许用户访问该特定页面。注销只会删除此cookie 这种认证方式可以接受吗?有没有更好的方法来处理用户身份验证?是否有必要改用会话并将会

我有一个用active directory验证用户身份的网站。本网站仅供公司内部使用,不包含任何敏感信息。该网站使用SSL进行安全保护。当用户登录时,其用户名和密码将通过POST传输到服务器。然后,我将他/她的用户名存储在一个会话cookie中,TTL为1天,通过每个web操作刷新。从这一点开始,每个网页都会检查这个带有用户名的cookie是否存在。如果有,它将允许用户访问该特定页面。注销只会删除此cookie


这种认证方式可以接受吗?有没有更好的方法来处理用户身份验证?是否有必要改用会话并将会话id存储在cookies中?

使用会话确实很有效,是的。我不知道你会使用什么语言,但通常在本地存储信息是个好主意(这不包括敏感和私人信息,如密码)

页面通常在加载时检查您的身份验证(及其类型)

我已经与PHP失去了联系,但例如ASP.NET有一个相当整洁(但复杂)的身份系统,您的登录信息将存储在单独的会话中,并在注销时销毁,但也存储有关其类型的信息。这将允许开发人员稍后标记需要特定类型标识的页面。例如:

[Authorize(Roles="admin")]
public ActionResult Index() {
    // Your action information
}
再说一次,我对PHP很生疏,但我想这与在
标记之前检查会话的情况类似,即

<?php
    if(is_null($_SESSION["user-info"]["type"])
         header("Location: index.php");
?>
<html>
    ...

对我来说,@CC.-本例中的cookie只是一个用户名字符串。@DavidYuan-将未签名的用户名存储在cookie中实际上没有安全性。任何人都可以将其cookie的值设置给任何其他用户。无益。在我回答之前,您使用的web或应用程序服务器是什么,编程语言是什么?您的应用程序服务器可能已经支持安全会话。你为什么不使用它呢?你的应用服务器可能提供了一种比你所做的更安全、更简单的机制。这就是说,如果你明天要去试玩,就用你拥有的东西,以后再修复它。准备好后,用谷歌搜索应用服务器的名称和“身份验证”一词。例如,。感谢您的输入。我实际上是在使用python,我只是想知道在进行用户身份验证时,典型的协议是什么:用cookie存储会话ID,然后用它访问会话信息或其他方法..不管怎样,我想我会转而使用会话来存储用户信息,而不是cookies@David那样做。Cookie主要用于存储“长期”信息,即使用户关闭浏览器(如布局或可用性配置),您也希望浏览器保留这些信息。我不喜欢这样做,但是如果你觉得你的问题已经得到了回答,你能把一个答案标记为“被问”吗?(选择一个满足您的问题的答案):)