Asp.net MVC許可權設計思考 (三)後台UI設計

來源:互聯網
上載者:User

一些朋友提出讓我加上細節部分,也有朋友PM說很多地方看不懂不知道該怎麼用,由於目前正在趕學校的課程中心,暫沒有時間來詳細介紹使用,這裡我把背景一些設計出來,大家參考設計

另外在第二篇提到的CenterAuthorizeAttribute部分,已經做部分修改,原來的會出現邏輯判斷的BUG。

許可權大類管理  SysAppCate

可以看出,許可權大類其實對應的是上部的大類菜單,當添加新的大類,該菜單將載入相應的項並呈現出來。

 

許可權列表管理 SysAppList

這個介面對應系統所有的許可權,有朋友提出如果出現相同的Action,那麼將無法分類管理,其實我認為不然,相同的Action一般用到的設計無非是Post和Get的請求變更,那麼如果一個頁面只可以訪問卻無法操作,這樣還有必要呈現給使用者嗎?大家請注意觀察,在這裡的設定中如果為是否現實為:False,那麼該許可權將不會按照分組呈現在左側的管理菜單中。

 

許可權組管理RoleGroup

這個表建立我們需要的系統許可權組,這樣更方便我們的管理。按照我的項目經驗,一個項目很少會出現上百個許可權組的要求,在課程中心這個項目中,當然也不會涉及到那麼多的許可權分類。

這裡為每一個許可權多了一個“設定”的選項,下面來看看“設定”是怎麼完成的.

這裡我做了一個Tab,按照許可權的大類分別放置所屬的許可權並進行載入。開始時間和結束時間是控制該許可權在許可權組中可以操作的時間,那麼設定為Anytime,也就表示開始或者結束為無限期。我在該項目中間會用到申報等一些流程,那麼我們必須控制時間來按照需要進行申報。

這裡我們還要考慮,應該是當許可權發生的更改,才提交這個資料,否則每次都提交這麼多許可權進行更新,效率上講我們犯了一個低級的錯誤。的邏輯最終將更新至RoleGroupAppList表中。

 

好了,現在許可權整體的結構都已經設計好,接下來將看看怎麼把許可權應用在對應使用者上,這個很簡單,但是還是比較說明一下

我們現在只需要把對應的許可權組分配給使用者,就可以獲得該組分配的許可權。

 

大家還可以看到我最上面的幾個中有“協助” ,這並不是一個固定的頁面,我通過

<%= Html.ActionLink("協助", "Help", new { c = this.ViewContext.RouteData.Values["controller"], a = this.ViewContext.RouteData.Values["action"] ,controller="System" })%>

這樣的形式來建立串連,那麼可以把它放在MasterPage裡,不同的頁面中串連其實會變成對應的controller和action,這樣建立對應的表,可以很簡單的對應這個View視圖來載入協助資訊。

最近手頭的工作實在太忙,由於時間比較緊,就不一一介紹了。

 

其實MVC給我們更大的靈活度和對視圖的控制。我從MVC1 RC版就開始使用MVC做一些小項目,很早拋棄了我認為相對臃腫的WEBFORM,有朋友也曾質疑MVC的編程模式接近ASP,其實這無疑是對於MVC整個架構及應用不瞭解所造成的。

聯繫我們

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