开发工具与关键技术:VS MVC
作者:黄姗姗
年级:18级
撰写日期:2019年8月7日
1.登录页面,如何实现记住用户登录名和密码,就是每次登录记住之后,我每次打开后它就会绑定用户名和密码,我不用再输入。
这里的记录用户名和密码需要用到mvc中的cookie,把我们需要存放的东西放进cookie中保存,这个cookie是保存在浏览器中的,就算关闭了浏览器和这个项目,等到下次进来是,还会存在,只要浏览器存在它就存在,或者清空浏览器的cookie后,就会没有了。跟session不同,session是存放在这个项目的服务中,只要这个项目关闭了,session也会跟着消失。
cookie与session的区别是什么:
cookie与session的区别有:cookie以文本格式存储在浏览器上,存储量有限;而session存储在服务端,可以无限量存储多个变量并且比cookie更安全
第一步,我们先在登录的按钮点击事件中,获取“记住我”这个复选框是否选中,如果选中,我就要利用cookie来记住用户名和用户密码,否则就不用。
视图的代码:利用post提交,把用户名、密码、记住我传递过去:
1、 获取用户名、密码、记住我的值。
2、 提交到控制器
控制器:检测用户名和密码成功后,就要检测记住我的复选框是否选中,如果选中就要记住用户名和密码,如果选中,则传递过来的strrememberMe对的值就为true,否则就为false,就利用true、false来判断:
写入cookie的方式:
1、 创建一个cookie对象,名称为Staff,名称自定义就行,但在获取的时候,就要用到这个名称
2、 设置cookie的有效期
3、 加密用户的名称,
4、 把第一步创建好的cookie进行赋值,cookie[“StaffCode”]这个中括号里面的也是自定义,但在获取的时候,也是根据这个名称一致
5、 加密密码,
6、 把cookie添加到服务端
到这里就完成了,把用户、密码都写入到cookie。
下面就是在我运行项目的时候,进入到登录界面,然后就在登录界面的那个控制器那里,打cookie的获取,就可以吧用户名、密码都绑定上去了。
首先第一步:获取cookie的缓存,根据cookie的名称,我在登录的时候不是创建了一个cookie吗:就是这个:
然后就要获取cookie的缓存:
1、 获取cookie的缓存,根据staff这个名称来获取,因为创建cookie的时候就是这个名称
2、 判断获取到的cookie是否为空
3、 判断cookie[“staffcode”]这个是否为空,这个是我用来存放用户名的,
4、 声明一个string类型,接受cookie[“staffcode”]返回的数据
5、 解密,因为我在创建之前,就把用户名进行加密了,所以需要解密
6、 判断cookie[“Ciphercode”]是否为nul,这个是我用来存放密码的
7、 l声明一个string类型,接受cookie[“Ciphercode”]返回的数据
8、 然后利用ViewBag设置值,这样就可以直接在视图那边@ViewBag.StaffName啦
赋值为视图的用户的文本框、密码的文本框: