用户登陆之控制器处理

上次我们写了页面登陆的处理,接下来我们谈谈控制器处理方法。在页面判断处理完成通过后,我们把页面或取到的值传递到控控器。在控制器方法里写新建一个新的方法。用户登录,在获取数据前先定义一个记录状态的变量。同样的我们需要获取到页面传递的数据,但与大家想的不一样的地方在于,我们首先要进行处理的不是用户名及密码的验证,而是先判断验证码是否正确。为什么呢?这也是验证码存在的意义:阻止机器登录,也就是说首先登陆的得是人。,验证码设置就是拦截机器的。所以:我们先对验证码进行判断。
1、 验证码判断&用户名密码的
判断用户输入的验证码和session中拿到的验证码是否一致(忽略大小写)如果验证码是正确,那么接下来便需要对账号和密码进行判断:判断账号和密码首先根据账号查询出一条用户数据
在这里插入图片描述
1.1、 根据用户账号查询数据
根据账号查询数据,从数据库中查询查询出这个用户的数据。
在这里插入图片描述
1.2、 密码加密及匹配
对于密码的验证,不同直接进行验证,因为数据库中的密码全都是加密的。而我们获取到的是文本类型的密码信息,那如何判断密码是否正确呢?那么我们需要的便是先对密码进行加密,再使用加密后的密码信息与数据库中查询出的密码信息进行比较。如果加密后匹配的密与数据库里的密码相等,那么也就说明密码是正确的。反之,提示用户账号或密码不正确
2、 角色验证&session设置
在成功匹配密码的验证通过后,需要验证用户角色。那就需要以(用户)及(用户类型)作为条件进行联表查询。在里面需要链接多张表进行查询。
3、 确认用户身份&设置seasion及c使用ookie
3.1、确定用户身份
如果查询到的数据大于零,那么则表明存在与之对应的用户类型。如果判断不通过返回msg,“请输入正确的数据类型”
3.2、设置seasion
获取用户类型名称。获取用户类型id,设置session。使用session来知道是谁在登陆
3.3、使用cookie记住用户密码
如果要记住的用户密码等信息,则使用cookie,我把用户密码的记住的时间等于7天,也就是说7天内用户密码会被记住,在cookie里设置用户名,密码及用户类型。反之,如果用户在登录的时候没有勾选,是否记住密码的选项。那么我们也给他设置一个新的用户类型,把有效期设置成-1天。那么cookie便不会设置。为什么是-1天呢?因为cookie里没有删除这种说法。
在这里插入图片描述
效果图:
成功登陆的信息提示图,点击登陆后,成功登录后的截图
在这里插入图片描述
用户类型的效果图,用户类型不符合要求的提示图
在这里插入图片描述
总结:
用户登录,可谓是一个项目的门户,用她来拦住一个不速之客(机器人登录)让真正的客户得到相应的服务,登录的时候,先对验证码进行验证通过后再进行用户名及用户密码的匹配,需要注意的时候,密码的匹配,要先加后后再进行匹配。要知道密码在sql中是经过加密的,无法直接进行匹配。在验证码,用户密码验证完成后,对用户类型进行匹配。验证码,用户名&密码,用户类型,等信息在验证后如果不符合,应返回相应的提示在上面各项验证都通过后。也就说明用户登录信息是通过的。那么我在完成等录前需要先设置sesion,用session完成对当前用户的追踪。如果,在项目中没有对应的session信息。也就说明用户没有登陆,那么便可以设置重定向种方法,将其定位到登陆页面。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值