前前後後的均有使用者登陸的session處理

來源:互聯網
上載者:User
前後的均有使用者登陸的session處理?
做了一個系統,後台有管理員登陸;
前台有普通註冊使用者登陸;

我寫的前背景session都是這樣寫的,同時還做了自動登陸,條件是只能有session就直接登陸了。

if(empty($_SESSION['username']) && empty($_SESSION['uid'])){
$this->error("您還沒有登陸",U("/Admin/Login/index"),3);
}


,然後我發現一個問題,我在前台隨便註冊了一個使用者,在前台登陸,php記錄了$_SESSION['username'],然後我登陸後台,直接就進後台了。

我知道我這樣寫有問題哈,我問下應該如何解決?
我是這樣想的:前台和背景session名保持不一樣,
比如前台$_SESSION['username_index']
後台$_SESSION['username_admin'],可以嗎?

分享到: 更多


------解決方案--------------------
對於你的情況,建議不要再在判斷邏輯上繞圈子了
而是果斷的加一個許可權字 permit
設前台許可權為 0(因為你原來沒有許可權字)後台許可權為 1
你只需給使用者表加一個許可權欄位,並設管理使用者的許可權為 1 就可以了
登入時同時取出許可權儲存於 session 比如 $_SESSION['permit']
判斷時 if($permit == ($permit & $_SESSION['permit'])) 即可
式中 $permit 為版面要求的權限
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.