最近一直在忙这个小项目,总算忙完了第一版。从今天开始好好完善一下这个系列。
  今天要说的就是利用Cookie简单的实现"记住我功能"。用户登录时可以选择"记住我"以此在用户机子上记录Cookie,下次登录系统直接从Cookie中读取用户信息。见下图:
  Asp.Net MVC && SmartDAL项目实践(三) Cookie的简单利用
   那么代码中怎么实现呢?其实很简单,自定义一个Filter,并集成自AuthorizeAttribute。
  
    }
  其实最核心的就是20-29行。如果用户没有通过验证,我们就从Cookie中取用户信息(Cookie中存放的是UserId)。如果没有取到就返回false表示登录失败。如果取到了就通过ControlExt的Initsession方法将完整的用户实体(这里是User类实例)放到Session中。供程序其他部分使用。
  Initsession方法代码见下:
 
        }

  其中涉及的SmartDAL访问数据库的部分代码我们后面章节再详细讨论。

  等等,这里注重架构的朋友又要说了,在这里访问数据库不太合适,使代码的耦合度变大。由于时间比较紧,而且这又只是一个小东西所以我没有太多的关注这些。只是随自己想怎么写就怎么写(典型的XP思想是么?呵呵)。欢迎对此有异议的朋友与我讨论。
  这样把CookieAuthorizeAttribute应用到需要登录验证的Controller或是Action就OK了。
  源代码在已经做了更新,建此系列的首页目录。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-27
  • 2021-12-26
  • 2021-12-12
  • 2022-02-21
  • 2022-12-23
  • 2021-07-30
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
相关资源
相似解决方案