实现之前,我们已经把验证成功的信息存在cookie里《MVC登录前准备写好cookie》http://www.cnblogs.com/insus/p/3464105.html。现在就可以实现真正的验证与登录了。
先去数据库,写好一个登录证的存储过程[dbo].[usp_Member_LoginVerifyAndGetInfo]:
存储过程中有两个判断,用户输入一个不存在的帐号,也要提示帐号或是密码错误,为了系统安全考虑,一般不建议分别提示。
去应用程序,找到Entities目录,修改MemberEntity.cs类别,添加一个方法:
然后去控制器,添加一个LoginVerify()的ActionResult:
成功之后,两个Cookie值需要修改与赋值,把IsLogin设为true,并把UserName也一同赋值。后者是在登录之后,显示当前登录用户名。
接下来,我们去找到Views/Member/Index.cshtml视图,添加一个form,两个文本框和一个铵钮:
写登录铵钮的jQuery代码:
OK了,如果在登录验证通过,它定会导般/Member/Default视图。
现在还有一个问题,需要想到的,就是验证通过了,用户如果还是打开/Member/Index视图,这时,它还是显示登录状态,明明都登录成功了,如再显示这个视图,似乎有一点点不足。
现在Insus.NET解决它。打开控制器MemberController.cs在Index的ActionResult中,需要添加一个Cookie的判断,
在Default视图中,显示登录用户名:
实时操作演示: