前面幾講涉及到了用戶登錄成功了,那麼咱們本次講的是用戶登錄成功,並作完一些操做有,若是實現退出。本講涉及到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,操做更方便