最近一直在忙这个小项目,总算忙完了第一版。从今天开始好好完善一下这个系列。
今天要说的就是利用Cookie简单的实现"记住我功能"。用户登录时可以选择"记住我"以此在用户机子上记录Cookie,下次登录系统直接从Cookie中读取用户信息。见下图:

那么代码中怎么实现呢?其实很简单,自定义一个Filter,并集成自AuthorizeAttribute。
}
其实最核心的就是20-29行。如果用户没有通过验证,我们就从Cookie中取用户信息(Cookie中存放的是UserId)。如果没有取到就返回false表示登录失败。如果取到了就通过ControlExt的Initsession方法将完整的用户实体(这里是User类实例)放到Session中。供程序其他部分使用。今天要说的就是利用Cookie简单的实现"记住我功能"。用户登录时可以选择"记住我"以此在用户机子上记录Cookie,下次登录系统直接从Cookie中读取用户信息。见下图:
那么代码中怎么实现呢?其实很简单,自定义一个Filter,并集成自AuthorizeAttribute。
Initsession方法代码见下:
其中涉及的SmartDAL访问数据库的部分代码我们后面章节再详细讨论。
等等,这里注重架构的朋友又要说了,在这里访问数据库不太合适,使代码的耦合度变大。由于时间比较紧,而且这又只是一个小东西所以我没有太多的关注这些。只是随自己想怎么写就怎么写(典型的XP思想是么?呵呵)。欢迎对此有异议的朋友与我讨论。
这样把CookieAuthorizeAttribute应用到需要登录验证的Controller或是Action就OK了。
源代码在已经做了更新,建此系列的首页目录。