none
asp.net forms验证,如果验证cookie永久保存,但是如果我在数据库中,将这个用户删除,那会出现什么情况,是不是也可以像以前那样进入系统呀 RRS feed

  • 问题

  • asp.net forms验证,如果验证cookie永久保存,但是如果我在数据库中,将这个用户删除,那会出现什么情况,是不是也可以像以前那样进入系统呀。是的如何解决这个问题
    2010年1月21日 5:56

答案

  • 你在数据中把这个用户删除,一定是进不了系统的,
    cookie永久保存只是把你的用户名和密码加密存放到你的电脑上,每次你打开网站时,从COOKIE中读取用户名和密码,并判断是否在数据库中存在,
    使用COOKIE只是不用你手动输入用户名和密码了,方便你的操作。
    努力+方法=成功
    2010年1月21日 6:00
  • 如果是记住登陆状态的话,是可以登录进去的,但是,下一步涉及到用户相关需要读取数据库的东西就会执行不了。为了避免这种问题,你可以在读取用户信息的时候做一下处理就可以了,先提示您已经被删除,然后再清空cookie
    【孟子E章】
    2010年1月21日 11:51
    版主
  • 可以进入的 cookie不会去处理服务端方面的 只是验证表单票 需要获取cookie的值运行查询数据库 判断是否存在的值 如果不存在的 执行发给客户端一个过期的cookie 自动失效的
    2010年1月21日 15:56

全部回复

  • 你在数据中把这个用户删除,一定是进不了系统的,
    cookie永久保存只是把你的用户名和密码加密存放到你的电脑上,每次你打开网站时,从COOKIE中读取用户名和密码,并判断是否在数据库中存在,
    使用COOKIE只是不用你手动输入用户名和密码了,方便你的操作。
    努力+方法=成功
    2010年1月21日 6:00
  • 如果是记住登陆状态的话,是可以登录进去的,但是,下一步涉及到用户相关需要读取数据库的东西就会执行不了。为了避免这种问题,你可以在读取用户信息的时候做一下处理就可以了,先提示您已经被删除,然后再清空cookie
    【孟子E章】
    2010年1月21日 11:51
    版主
  • 可以进入的 cookie不会去处理服务端方面的 只是验证表单票 需要获取cookie的值运行查询数据库 判断是否存在的值 如果不存在的 执行发给客户端一个过期的cookie 自动失效的
    2010年1月21日 15:56
  • 如果是记住登陆状态的话,是可以登录进去的,但是,下一步涉及到用户相关需要读取数据库的东西就会执行不了。为了避免这种问题,你可以在读取用户信息的时候做一下处理就可以了,先提示您已经被删除,然后再清空cookie
    【孟子E章】
    是呀!我将用户删除后,还是可以读取数据库的信息。做asp.net froms 验证只要cookie没有过期,数据库中用户名删除,还是照样进去!能否说的明白些呀!是不是每个页面还是要做登录判断呀!那这样做asp.net forms验证有什么优势呀!直接用session就可以呢呀,请问有什么解决方法吗!能否说的详细的呀!如果微软能做一期这样的视频就好了
    2010年1月22日 7:56
  • 竹子从来没有将asp.net自的membership机制,不知道会不会有什么BUG。

    象楼主所说的情况,在现在几乎50%的网站都存在的问题。
    举个简单例子:
    我们假设A用户才是账号ACCOUNT -1 的拥有者。
    A用户用账号 ACCOUNT - 1在PC 1上登录 - 成功
    B用户也用账号 ACCOUNT - 1在PC 2上登录 - 成功
    接着:
    A用户修改了账号ACCOUNT - 1 的密码 - 成功
    B用户在PC 2未登出的情况下,使用账号 ACCOUNT - 1 在PC 2依然正常可以进行活动。


    象CSDN论坛就存在这个问题,这是多么可怕而愚蠢的BUG啊!!!!

    合理的应该是用户每一次的进行服务端交互,需要保证是有效账号时候都检验账号的有效性!
    2010年1月22日 8:02
  • 没有你想的那么简单啊 csdn这样大型网站 每天多少人访问的 cookie就是为了减少服务器压力设计的一种存储技术
    2010年1月22日 8:09
  • 没有你想的那么简单啊 csdn这样大型网站 每天多少人访问的 cookie就是为了减少服务器压力设计的一种存储技术
    这个自然知道。
    但如果为了减少服务器压力,而将账号的必要安全性降低,那就本末倒置了。
    就象为了追求节省系统资源而牺牲必要的功能一样,是多么愚蠢的想法?!
    2010年1月22日 8:16
  • 没有你想的那么简单啊 csdn这样大型网站 每天多少人访问的 cookie就是为了减少服务器压力设计的一种存储技术
    这个自然知道。
    但如果为了减少服务器压力,而将账号的必要安全性降低,那就本末倒置了。
    就象为了追求节省系统资源而牺牲必要的功能一样,是多么愚蠢的想法?!
    你的观点不一定是正确的 要记住客户才是上帝啊  微软产品没有漏洞 那不叫微软产品  没有哪个软件是完美的
    2010年1月22日 8:21
  • 你好,删除Cookie后,有些功能可以使用,包括登录,但是有些功能不能使用,也包括登录,这个要看你的登录密码怎么写的。membership类有些时候直接获取Cookie中的数据而不去读取数据库,但是有些时候会读取数据库。例如Page.User.Identity.Name 与Membership.GetUser().UserName结果会不一样。
    2010年1月22日 10:37
    版主
  • asp.net forms越做越有问题,不知道是自己水平问题,还是本来设计都有bug
    2010年1月23日 1:10
  • asp.net forms越做越有问题,不知道是自己水平问题,还是本来设计都有bug

    都不是啊  是设计细节 你没有去写的 每次访问去判断数据库的值逻辑代码 这点完全解决你的问题了
    Membership.GetUser().UserName内置也是每次访问要检数据库
    2010年1月23日 3:46