登入页面的各种判断

该博客介绍页面登录验证流程。先判断账号密码是否存在于数据库,用AES26加密密码。使用linq查询语句,以页面账号为条件查询。若账号存在,加密页面密码与数据库密码比较。接着判断身份,根据账号、密码和身份筛选数据。还提及记住密码功能,通过设置session和cookie实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(作者:饶家俊,撰写时间:2019年5月4号)

我们登入页面的时候都是要输入账号密码的,所以我们要判断账号和密码是否是在数据库里面真实存在的。

这个账号是否对应的是这个密码,如果是不存在的我们就要弹出一个提示框来提示他,账号和密码不存在或者账号和密码有错误。密码在数据库是用一种叫AES26方法来加密的,以免密码被偷看。
在这里插入图片描述

接下来我们用到的是linq查询语句,因为我们只是查询一条数据判断账号是否存在的,所以就直接实体本身,在定义个名称,在用linq语句来获取数据,给他起个名称tbUser,然后查询用户表所有的数据。

我们要判断页面上的账号是否存在的,拿数据库里面的账号和获取页面传递的变量 string strUserNuber = pwUser.UserNuber; strUserNuber为条件来查询数据库。

Single是个唯一元素,有就返回一条数据,如果查询到两条数据就会报错,要是能查询到数据,而且是唯一一条,那么这个账号是存在的,就进行下一步的判断。要是账号那么就要告诉他当前输入的账号不存在。

既然账号是存在的,那我们就要来判断密码是否是存在的,而且账号密码是要对应的。在数据库保存的密码,都是经过加密在保存进来的,不然被别人看到就可以用你的账号密码。不过在页面还是输入原始的密码,所以我们要比较的话,需要把原始的密码加密之后在来比较。
在这里插入图片描述

因为我们需要把原始的密码加密,然后在进行比较。所以我们要添加一个类叫AESEncryptHelper,在到里面封装一个方法Encrypt.是把字符串加密成另外一串字符串.

接下来用string password 声明变量来接受密码,在进行加密调用到添加类AESEncryptHelper和类里面的方法Encrypt,在用括号围起来,string strPassword = pwUser.Password;在获取页面传递的变量,在用strPassword来加密.

在直接获取查询的密码,在根据页面上的密码进行比较是不是相等的,不相等就要弹出提示框,来提示用户,当前输入的密码错误。如果正确就在进行判断。

接下来判断他们的身份,你不可能用你学生的账号密码,用老师的身份来登入。因为有一些东西你作为学生,你可以看,可以做题,可以进入一些页面,你不可能自己给自己改分数,不可以发布或者新增一些东西,但老师可以,可是老师也有不可以干的事,他不可以为自己打印成绩,因为他没有成绩所以老师也不可以随便打印。

什么样的身份就可以看见你可以看见的东西,不能操作的东西你也点不到看不见。管理员就不一样了,他可以直接操控整个项目的权限,更改这些权限和看到所有的页面,因为他是管理员,管理整个项目。
在这里插入图片描述

先获取页面登录身份传递的变量,strUserTypeClass = strUserTypeClass.Trim();在用Trim来删除两侧的空格。
先声明,在用from关键字,在取个名称,操控的是实体的用户表,因为是连表查询所以要用到,join在取个名称,操控的是实体的用户角色明细表,还有条件查询。
从页面获取的账号,密码,和身份来数据库筛选,是否三个都是对的,查询具体的字段就select关键字在转化成列表,由于我们 要把后面的信息给到主页面上去,所以把需要的东西查询出来。
在这里插入图片描述
在来判断你查询到的数据是否大于0,在什么时候他会大于0,只有在账号,密码,和身份都是对应的时候才会有数据才会大于0,才可以在进行判断,如果小于0的时候,那么就是你的账号密码和用户不匹配,就要弹出提示框,来提示账号和登入的角色不匹配。
很多页面登入页面是有,是否记住我之类的按钮,选中之后等你登入了以后再登入就不用在输入账号密码,就可以节省用户的时间。
在这里插入图片描述
先获取用户类型名称和用户类型ID,在去设置session。
设置session来记住,用户ID和用户类型和当期登入的时间和用户类型。
在这里插入图片描述
在设置cookie,来记住密码 保存到cookie里面,我们要先创建cookie对象,才可以cookie里面的东西。先实例化cookie,并且给他一个名字,然后在设置他记住的有效期,只可以保存7天,7天之后就要重新输入,在到后面保存用户名和密码和用户类型。
如果他第一次登入保存,第二次登入不保存我们就要删除,cookie先实例化cookie,并且给他一个名字。在把cookie有效期,设置成负数,浏览器会自动把过期的cookie删除,来达到删除的效果,,在添加返回值,这样我们就已经登入页面所有的判断完了,我们只是定义了方法所以还不可以跳转页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值