我想创建一个网站,登录系统不应该由cookie处理,而是在(a)本地(服务器上)SQL DB上的表中处理。
有办法吗? 甚至没有局部的方式?
我应该保存什么以及在哪里而不是cookie?
答案 0 :(得分:3)
ASP.NET默认使用会话cookie来跟踪用户请求。如果您使用无Cookie会话,您将在浏览器的所有请求中找到附加的会话ID。在许多情况下,这也可能是不可接受的。
即使您决定点击数据库并在每次请求时检查“LoggedIn”标志,您仍然需要某种方法来将传入请求标识为属于特定用户。这可能是隐藏字段中加密值的形式,具体取决于您的安全方案。也就是说,这不是一个比使用cookie更好的方法,因为来自客户端的任何数据都有可能被篡改。
就个人而言,我认为只要您正确加密Cookie,我们就可以很好地跟踪用户请求。
答案 1 :(得分:2)
你仍然需要一些方法来区分用户。如果你不使用cookie,那么你必须在url中传输这些信息,或者只允许一个ip地址中的一个用户(这真的很愚蠢)......或其他东西。饼干并没有那么糟糕: - )。
答案 2 :(得分:1)
如果您在实际使用登录系统时需要帮助,则需要提供有关特定问题的更多详细信息。
答案 3 :(得分:1)
您可以将您的用户名存储在数据库中,但是您仍然需要一种方法来识别用户在页面之间导航的过程。这是cookie中的角色,用于保留此登录令牌......
可以实现一些其他处理此令牌的方法。可以使用URL或somme隐藏字段(作为ASP.NET的ViewState)来存储此标记。
所以,是的;可以办到。但它需要一些工作,因为你不能使用ASP.NET已经提供给你的东西。 (ASP.NET具有内置功能,可以将此标记作为cookie处理,并将凭据存储在数据库中。)
答案 4 :(得分:0)