前面几讲涉及到了用户登录成功了,那么咱们本次讲的是用户登录成功,并作完一些操做有,若是实现退出。本讲涉及到session。数据库
咱们要实现系统对用户在各个页面的权限进行识别,最有效的方式是采用session或cookie,二者的区别是:浏览器
cookie以文本格式存储在浏览器上,存储量有限;安全
而会话session存储在服务端,能够无限量存储多个变量而且比cookie更安全.cookie
因此咱们下面采用的是session进行操做,在登录成功的时候新建一个用户的Session["User"],而后系统会根据这个session来判断用户的一些权限问题,当咱们把这个session置空,则系统认为用户已经退出登录。session
如下是步骤。框架
一、咱们须要新建一个用户模型类,用户存储用户的一些数据在session里面。函数
进入models文件夹,经过新建类的方式来新建一个模型。工具
下面是User类里面的代码,主要是根据数据库来进行了一些设置(最后面的power字段是临时添加的,后面再对权限进行讲解,理论上用户模型要包含数据库对应的表的全部字段,我这里只是用了几个字段)。post
二、新建用户模型的数据工具类,固然这个是为了方便管理,在项目根目录下新建一个DBTools文件夹,而后在文件夹里面新建一个UserTools.cs类调试
在UserTools类里面代码以下,目前主要用户经过输入一个数据表用来生成一个用户模型:
修改下login控制器里面的post方式的index函数,在用户登录成功的时候,新建一个用户对象并设置好改对象。
对admin控制器代码进行修改,主要是对全部的action进行用户登录的判断,还有新增一个登出的action,对head头部的action进行代码修改。
咱们要实现的是在head头部显示用户的姓名,而且在head头部预留有一个退出的连接,因此head前台代码以下:
<a>标签加上 target="_top",含义是这个连接就会在整个页面中打开,而不是在某个块中打开,也就是跳出了frameset这个框架,若是没有这个参数,则只是头部文件跳转到了登录视图,其余页面仍是原始视图。
效果以下:
下面是效果的操做步骤:
一、启用调试的是admin/head视图,因为加入了session验证,因此页面会自动跳转到登录界面
二、登录成功后以下所示:
三、点击退出按钮后,系统直接退出到登录界面
课堂视频地址以下:
连接:https://pan.baidu.com/s/1nTE4o1CRww5XtwSXTDomCQ 提取码:ull2 复制这段内容后打开百度网盘手机App,操做更方便