ASP.NET權限控管
ASP.NET權限控管相關文章
ASP.NET 2.0 怎麼建置會員機制,這個問題幾乎每隔一段時間就會在討論區中被人提起。小喵利用這個機會把以前寫過的文章整理一下,依照由淺而深的方式來學。
在ASP.NET 2.0以後,有了一套的登入驗證與授權機制。(請參考小喵這篇【ASP.NET的驗證與授權機制(動態錄影說明)】)其中預設的密碼必須要英數混合,並且需要一個非英數的特別符號,而且至少要有7位。這樣的密碼才能吃得進去,當然這樣的機制是為了要增加密碼的安全性,避免別人用機器人程式來猜出您的密碼。不過如果內部的系統想要簡單一些,其實也可以透過設定Web.Config的方式來改變他的規則。
本篇開始介紹如何將【畫面結構】設定與【角色/使用者】設定結合。用以設定【授權】
角色/使用者→畫面:角色/使用者擁有哪些畫面的權限
畫面→角色/使用者:一個畫面,對於眾多角色/使用者的權限設定
緣起
承繼前兩篇,從第一篇的【願景】,與第二篇的【樹狀結構畫面維護】,這一篇來談談如何處理角色的部分。角色的意義,請參考小喵第一篇【ASP.NET進階權限控管-Part 1 願景】裡面的說明,這裡就不再贅述了。直接進入到角色的定義、以及角色←→使用者之間的關係如何維護。
先從角色的定義來談起,先看一下角色的欄位說明
在網路上看使用者發問的時候,還有很多從ASP剛轉換ASP.NET的開發人員,在使用者驗證與畫面授權上,還是沿襲著以往的Session驗證的方式。其實在ASP.NET裡面就有一整套完整的驗證與授權機制。使用內建的機制可以更簡單的就能夠做到【登入驗證】與【資料夾授權】的功能。透過這篇文章,希望讀者可以學到驗證授權機制、如何搭配自己的資料庫,做到相同的驗證機制。
繼承上一篇的願景【ASP.NET進階權限控管-Part 1 願景】,接著這篇先來講講一些基本的部分。
首先是【登入結合自己的資料庫】,以及【TreeView樹狀結構結合資料庫】這兩個部分,由於小喵以前已經有文章說明了這兩個部分,所以在這邊也不贅述。請看考以下的這兩篇。
瞭解了上面的這些部分候,接著就是如何維護樹狀結構,看一下維護運作的畫面先
這個主題小喵一直以來一直想要做分享,但是又不知從何分享起,因為小喵的這套機制有點點複雜,他除了可以結合自定資料庫的使用者登入、角色概念外,還搭配了TreeView與資料庫結合,等等的技術。算是一個還蠻進階的運用。相關的介紹可能不是一兩篇Blog能夠介紹完。到底要多少篇小喵也不曉得...就從小喵希望達到的願景(事實上已經達到並上線使用中)開始介紹起。
為了方便使用者的使用,因此會有【單一登入】的需求出現,只要登入一個應用程式後,要跳到別的Web應用程式,不需要再次輸入帳號密碼,可以直接就進行登入。但是為了考量安全性,還是要考量一下怎麼設計才能夠兼顧安全與便利。
ASP.NET 2.0 如何將MemberShip的資料庫建立在自己的資料庫上
摘要:如何透過IHttpHandler讓某虛擬目錄中檔案(例如Test.txt)必須登入才可瀏覽
ASP.NET 2.0如何使用Login來存取自己的使用者資料庫
摘要:如何用程式控制ASP.NET 2.0 LoginView中的控制項
摘要:ASP.NET 2.0 使用資料表動態產生TreeView的樹狀結構