前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >页面登录

页面登录

作者头像
PHY_68
发布2020-09-16 14:30:37
1.9K0
发布2020-09-16 14:30:37
举报
文章被收录于专栏:laopan技术分享

页面登录

代码语言:javascript
复制
开发工具与关键技术:MVC

 

作者:盘洪源

 

撰写时间:2019年4月17日星期三

登录这种东西一般的项目应该都需要,比如说大家所用到的软件大多数都是需要注册和登录的,这是记录用户信息的一个东西。

登录这个不难,就是一个账号和密码的验证,有时多个验证码或者用户类型的验证这些。只要理解下思路很容易完成的。首先构建一个登录页面的视图,可以采用一个from表单的样式,这个页面的构造就自己寻思着写就行。

在控制器写个验证登录的方法,先定义个记录状态的变量,这样如果出错了用户可以知道他是错在哪。

string strMsg = “fail”;

获取页面的数据:账号、密码这些

string strUserNuber = pwUser.UserNuber;

如果有验证码验证的那就要另外写个生成验证码的方法,验证码都是随机生产的

string strRandom = ValidCodeUtils.GetRandomCode(5);

这是生成一个长度为5的验证码字符串,然后还需要将生成的验证码字符串生成验证码图片才可以

byte[] byteImg = ValidCodeUtils.CreateImage(strRandom);

将验证码字符串存入session中 key值为

Session[“validCode”] = strRandom;

最后就是将验证码图片返回到视图,因为这个是图片所以要已文件的形式返回

return File(byteImg, @“image/jpeg”);

这个时候在验证登录的方法中,首先要获取到上面这个随机生成的验证码字符串,因为用户输入的是字符串不是图片,然后再判断用户输入的验证码是否是与这个随机生成的验证码是否一致(一般都是可以忽略大小写),再进行其他判断。

这个时候就可以判断账号是否存在,这个就是一个简单的单表查询,然后就是这个账号所对应的密码的判断,这个密码的判断可能有所不同,这个要对用户输入的密码进行一个加密,这个也是为了用户信息的安全性。

string password = AESEncryptHelper.Encrypt(strPassword);

这个时候就可以判断了

如果有登录用户类型这一说法的话,这个时候也可以做一个对应的判断,判断登录的账号所对应是一个什么用户类型就是什么用户类型,这个就是个联表的加个条件的查询。就好比如说用户输入的是一个普通登录员,但他的用户类型就选中了管理者,像这种情况就需要提醒用户,类型选错了。判断完后,就可以在页面异步提交数据。

有些登录页面会有回填数据这一种,比如说登录页面中会有个“记住我”这个按钮,就是说你这次登录后下次再登录就不需要填写账号、密码这些,不过这个也有时间限制的,可能一周之内再次登录会有这个效果,这个时间可以自己设置。这个就需要用到一个cookie机制来记住用户信息。

在这里插入图片描述
在这里插入图片描述

Cookie.Expires就是这个数据的保存时间,后面的7代表的就是保存7天。

当里面的数字为负值浏览器就会自动删除,这样就是当没有选中记住我的时候所需要写的。

代码语言:javascript
复制
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190427210413704.PNG)

然后就可以保存相对应的数据了。

将此代码发送至浏览器,浏览器就会生成cookie

Response.Cookies.Add(cookie);

往Cookie里面添加一个新的cookie。

还需要在登录页面的视图那里将记录用户信息的cookie获取出来

声明几个变量(账号、密码),获取cookie的数据后再给变量赋值。

string UserNuber = “”;

UserNuber = System.Web.HttpContext.Current.Server.UrlDecode(cookie[“UserNuber”]);

UrlDecode(对用户的信息进行解码,因为中文会被浏览器套入链接变成特殊代码,因此需要解码译回中文)

然后就是将数据传递到页面:通过Razor语法获取数据。

ViewBag.UserNuber = UserNuber;

完了之后就在登录页面上这几个变量所对应的位置@出数据就完事了

在这里插入图片描述
在这里插入图片描述

这样就可以实现一个数据回填的效果,这样一个登录的过程大概是这样的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档