如果 ASP.NET 针对 Windows 身份验证进行配置,则 ASP.NET 依靠 IIS,利用配置好的身份验证模式对其客户端进行身份验证。IIS 通过检查特定应用程序的元数据库设置来确定其身份验证模式。成功验证某个用户的身份后,IIS 将代表经过身份验证的用户的 Windows 令牌传递给宿主 ASP.NET 的 ASP.NET 辅助进程 (w3wp.exe)。如果应用程序使用在 IIS 中配置的虚拟目录来支持匿名访问,该令牌代表匿名 Internet 用户帐户;否则,该令牌代表经过身份验证的用户 http://www.cnblogs.com/chenqingwei/archive/2010/07/12/1775472.html
我一般是这样写:如果是记住密码,将用户名保存到cookies,然后再将一个bool值保存到cookie,这个值是指是不是记住密码 然后打开页面之后,如果cookie保存的bool值为真,则给密码框加一段密码(不正确的也行,123456也可以) 查找的时候 select count(*) from 表 where 用户名=客户端的用户名 and (密码=加密的密码 or 客户端的那个bool值) 这个方法其实也不算太好的。容易cookie欺骗。 不知道哪位大侠有更好的方法。
密码一般是MD5加密后 直接存入数据库了
主要是验证user
...
if (Request.Cookies["user"].Value != null)
那位前辈知道原理呢??
http://www.cnblogs.com/chenqingwei/archive/2010/07/12/1775472.html
就算是为了记住用户下次无需登录,也不必放密码啊
大可以使用一个加密过的标志量一个token就可以了,密码这个东西实在不应该放cookie
然后打开页面之后,如果cookie保存的bool值为真,则给密码框加一段密码(不正确的也行,123456也可以)
查找的时候
select count(*) from 表 where 用户名=客户端的用户名 and (密码=加密的密码 or 客户端的那个bool值)
这个方法其实也不算太好的。容易cookie欺骗。
不知道哪位大侠有更好的方法。
你这个看似安全,其实最不安全。
我完全可以掌握你的cookie的内容,并伪造一个别的用户名的cookie,这样我就可以用任意用户名登录你的系统了。