【轉】關於B/S架構應用程式的使用權限設定分析和總結

來源:互聯網
上載者:User

標籤:style   class   blog   code   http   color   

來自:http://www.cnblogs.com/zhouxunyu/p/3790122.html

 

分析:不同的使用者登入到系統後賦予不同的操作許可權,而使用者存在於資料庫中,標識使用者權限的欄位
也儲存在資料庫中的使用者表中。

問題:這個標識使用者權限的欄位從資料庫中取出如何儲存在啟動並執行程式中。


方案一:建立使用者類,將從使用者表查詢出來的資訊封裝到類裡面,使用者登入時執行個體化類擷取許可權欄位。

分析:該解決方案可行,弊端則是:當系統部署發布後同時線上訪問使用者量很大時,每次執行個體化的使用者類會很多,伺服器負荷會很大。

如果這個解決方案應用於C/S架構,我個人認為是最方便也是最好的。

 

方案二:將從使用者表中查詢出來的資訊,特別是標識使用者權限的欄位資訊儲存到Session中。

分析:該解決方案視乎也可行。弊端則是:Session存在著逾時機制,一但Session逾時這運行會報錯。Session逾時解決方案:Session.time=12000;或者在設定檔中配置

 1 <configuration> 2  3 <system.web> 4  5 <sessionState 6  7 mode="InProc" 8  9 cookieless="true"10 11 timeout="30" />12 13 </system.web>14 15 </configuration>

如果要Session永不逾時,那麼就在頁面虛擬一個無內容的Ifram或者按鈕等等,定時重新整理它,Session就永遠不會逾時。但建議最好不要那樣,抓取逾時,讓使用者重新登入最好。


方案三:將從使用者表中查詢出來的資訊,特別是標識使用者權限的欄位資訊儲存到Cookie中。

分析:該解決方案似乎也可行。弊端則是:Cookie也存在著過時機制,同時如果同一台電腦登入多個使用者是就會存在著Cookie衝突。

 

解決Cookie衝突問題:利用索引值對,將ID作為鍵,在資料庫中ID永遠是唯一的,這樣就很輕鬆的解決了Cookie衝突問題,但在使用權限設定中最好不用Cookie,Cookie存在著風險,對整個應用程式來說不安全。如果使用者更改了本地的Cookie值那麼許可權就對應著發生變化了,建議不用。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.