登陆页面

登陆页面运用比较广泛,因为做出来的一个系统,没有登录页面的话,就会让那些知道链接的人,登陆进去,这对做出来的代码就没有意义了。

首先需要在控制器上写登陆页面的方法,接着在该方法里面先获取到登陆页面需要填的数据,赋值为空,然后获取浏览器携带cookie的请求,最后做出判断:账号、密码和勾选记住账号与密码,方便下一次的登陆。另外账号与密码的代码一样,所以只写账号的代码
登陆页面
然后返回数据到页面上。账号、密码和勾选记住账号与密码返回数据大致一样,故只写一条(ViewBag.账号 = 账号;)
再在HTML代码form表单中的input标签的value接收控制器返回的数据value="@ViewBag.账号/密码";需要用到三目运算符:value=“true” @(ViewBag.勾选记住账号与密码? “checked”:"")
接着设置登陆按钮的点击事件,在里面第一步先获取登陆页面需要填写的参数;第二步进行数据验证(判断),然后打开加载层,是为了让用户知道浏览器已经在运作了,然后发送post请求,先写路径(接收控制器的请求),然后写键值对:左边是控制器传过来的数据,右边是参数。最后回调函数,在回调函数里面关闭加载层。
路径控制器上的内容:
第一步:在最开头的位置写准备返回的数据,在最后面写返回json格式的数据
登陆页面
第二步:检查用户输入的验证码是否正确和验证用户输入的验证码和session中的验证码是
登陆页面
是否相同 忽略大小写
第三步:验证用户输入的账号和密码是否匹配先try…catch捕捉错误,接着通过单表查询 账号,然后判断用户输入的密码是否与数据库里面的密码一致(需要看数据库的密码是 否加密,如果加密的话,需要引入文件AESEncryptHelper,接着我们需要对用户输入的 密码进行AES加密,才能比较:string 用户输入的密码 = AESEncryptHelper.Encrypt(用户 密码);将加密后的密码与数据库上的密码进行比较)还要保存用户信息到session里面 (用户ID、账号)Session[“userID”] = 单表查询的名称.userID;账号代码一样。最后处 理记住账号与密码这个功能,先写判断,判断勾选了还是没有勾选,如果勾选了就先实 例化Cookie(HttpCookie cookie = new HttpCookie(“user”);),保存数据到Cookie (cookie[“账号”] = 账号; cookie[“密码”] = 用户输入的密码;)设置Cookie的保存时间 (一般为7天:cookie.Expires = DateTime.Now.AddDays(7);)通过Response把 cookie返回给浏览器(Response.Cookies.Add(cookie);),再写上登陆成功提示框,就 可以返回到视图写代码,验证正确就登陆进主页面,失败的话弹出提示框,告诉用户登 陆失败的原因,以及清空前一个验证码与调用刷新验证码的方法。

验证码刷新:先在控制器写刷新图片的方法:生成验证码和验证图片,需要引入文件 (ValidCodeUtils)然后设置验证码的长度(一般长度为5:string validCode = ValidCodeUtils.GetRandomCode(5);),根据生成的验证码字符串生成验证图片(byte[] validImage = ValidCodeUtils.CreateImage(validCode);),将生成的验证码字符串保存 到Session(Session[“validCode”] = validCode;),将验证图片返回到页面(return File(validImage,“image/jpeg”);)返回到视图:在HTML的img标签写上图片路径接着 在 换一张写上点击事件,然后调用该点击事件,里面写上 ($("#validCodeImage").prop(“src”, “@Url.Content(”~/控制器/视图名?t=")" + new Date().getTime());),t为参数可以更改,主要是为了让浏览器清除记忆,不要在按换 一张的时候,还是同一张

另外为避免登陆页面嵌套到主页面,所以在视图名称的下面新建一个script标签,再在里面写上防止嵌套的代码
登陆页面