登陆控制器理解内容

                                          登陆控制器理解内容
开发工具与关键技术:Visual Studio 2015 
作者:李仁海
撰写时间:2019.5.18

一、 首先就是设置路径的名称UserLogin,然后获取页面的传参数据,可根据PW_User pwUser用户表来接收页面传来的数据。
二、 要定义一个记录状态的变量,通常都是一个string字符串获取数据来定义变量的了,人后给一个名称strMsg的局部变量来等于fil的字符串来记录状态的。
三、 定义记录状态的变量之后就是要获取页面传递的变量数据了,首先就是用户名的数据string的字符串来获取到页面传递的变量数据,然后设置名称局部变量strUserNuber来等于参数pwUser里的UserNuber用户名;然后密码也是同样的过程用法;接着就是用户类型,用户类型的用法基本上也是跟用户、密码的用法一样,只是最后一步不一样,string字符串获取页面传递的数据,同样的设置局部变量的名称strUserTypeClass,也就是等于之后的这一步不一样的是他根据Request这个数据来获取到用户类型的数据值然后直接一个中括号填进用户类型的名称完成;接着一个勾选的框架记住否跟用户类型的用法一样;他们之间之所以不一样的原因就是一个是输入框,一个是下拉框,所以用法不一样。
在这里插入图片描述
图1
四、单表查询
1、根据用户表PW_User来查询,定义一个名称dbUser等于括号简单的一个from再定义一个名称tbUser in实例化myModel点用户表PW_User,where单表查询也就是只获取一张表表的数据进行判断;
PW_User dbUser = (from tbUser in myModel.PW_User
where tbUser.UserNuber == strUserNuber && tbUser.ToVoidNo == true
select tbUser).Single();
2、 查询的结果只能有一条数据,0条或者大于等于2条都会出现异常
五、对用户设置的密码进行加密
string password = AESEncryptHelper.Encrypt(strPassword);
获取密码进行加密,AESEncryptHelper是一个脚本文件,也就是插件,一个密码加密的插件。
六、用加密后的密码和查询到数据库的密码进行比较是否一样。
1、if判断括号用加密密码定义的名称等于等于数据库的Password密码名称来比较,然后验证选择的角色是否正确;
2、验证角色是否正确,多表查询连接多张表进行查询,首先是用户表然后用户明细表进行比较,是否选择的角色跟数据库查询到的一致,然后join连接下一张表用户类型表查询是否跟用户明细表的一致, where连接用户表跟用户类型表查询,然后等于用户类型strUserTypeClass.Trim()去掉空格。
select new
{
tbUserType.UserTypeID,
tbUserType.UserType
}).ToList();
以上的条件满足那么进行下一步if判断来确认身份正确,确认身份正确前要先获取用户类型名称要去掉空格;
然后获取用户类型ID,设置session进行传递用户ID、用户类型ID以及记录登录的时间阶段、用户的类型
七、使用cookie来记住所填写的信息或者忘记
在这里插入图片描述
图2
八、 最后的是否登陆成功、用户类型错误以及没有此用户;
返回数据信息
return Json(strMsg, JsonRequestBehavior.AllowGet);
(注释:这是现在跟老师学习MVC的一个项目的登陆控制器视图上的代码)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值