【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(7.1) 模塊管理,驗證許可權,展示模塊列表

来源:http://www.cnblogs.com/yuangang/archive/2016/05/28/5537501.html
-Advertisement-
Play Games

聲明:本系列為原創,分享本人現用框架,未經本人同意,禁止轉載!http://yuangang.cnblogs.com 希望大家好好一步一步做,所有的技術和項目,都毫無保留的提供,希望大家能自己跟著做一套,還有,請大家放心,只要大家喜歡,有人需要,絕對不會爛尾,我會堅持寫完~ 如果你感覺文章有幫助,點 ...


聲明:本系列為原創,分享本人現用框架,未經本人同意,禁止轉載!http://yuangang.cnblogs.com

希望大家好好一步一步做,所有的技術和項目,都毫無保留的提供,希望大家能自己跟著做一套,還有,請大家放心,只要大家喜歡,有人需要,絕對不會爛尾,我會堅持寫完~

如果你感覺文章有幫助,點一下推薦,讓更多的朋友參與進來,也是對本人勞動成果的鼓勵,謝謝大家!由於還要工作,所以基本都是犧牲午休時間來寫博客的,寫博客呢不是簡單的Ctrl+C、Ctrl+V,我是要挨著做一遍的,這也是對大家負責,所以有些時候更新不及時,或者問題沒有及時解答,希望大家諒解,再次感謝大家!!

因為我引用了許多以前積累的類庫,所以有些東西是重覆的(後來更新),有些東西是過時的,包括我寫的代碼,希望大家不要純粹的複製,取其精華去其糟粕>_<。

在項目最後我會把每個部分、每個階段的Demo提供下載給大家,其實,如果跟著做完,並且剔除掉了我代碼不好的地方,你也不需要這些Demo了,是吧~

索引

 【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(1)搭建MVC環境 註冊區域

 【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(2)創建資料庫和數據模型

 【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(3)公共基礎數據操作類 RepositoryBase

 【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(4)對前面的一些問題彙總和總結

 【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(5.1) 登錄功能的實現,開始接觸Spring IOC、DI

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(5.2) 登錄功能的實現,介面註入、log4net的使用

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(5.3) 登錄功能的實現,豐富數據表、建立關聯

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(5.4) 登錄功能的實現,創建與登錄用戶相關的介面和實現類

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(5.5) 登錄功能的實現,完善登錄功能

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做項目(6) 控制器基類 主要做登錄用戶、許可權認證、日誌記錄等工作

簡述

今天我們來做模塊管理的 展示 模塊列表

項目準備

我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5

希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。

項目開始

一、添加預置數據

超級管理員是獲取全部系統和許可權的,但是首先,必須是存在許可權的,模塊和許可權是整套系統的基架。

我們首先添加幾個模塊: 模塊管理和許可權管理 他們都屬於系統管理 在 系統管理中心下

 

SYS_MODULE

 

SYS_PERMISSION 分別給模塊表和許可權表 添加 查看(View)詳情(Detail)添加(Add)刪除(Remove)修改(Edit)許可權

 

 

二、新建HomeController控制器 繼承BaseController

public class HomeController : BaseController

(BaseController 需要添加引用 using WebPage.Controllers)

 

1、註入Module模塊管理

在Config/Controllers.xml 添加

(容器需要添加引用 using Service.IService)

 

2、添加Index 視圖,將模塊(菜單)輸出到頁面上,大家可以用BootStrap後臺模板+BUI,看個人喜好。

 

三、模塊管理

 

1、新建模塊管理控制器 ModuleController 繼承 BaseController

 

 

2、同上,聲明容器

 

3、模塊管理首頁 視圖 Index 添加 許可權驗證 

 

4、載入模塊列表方法 BindList(分級顯示,所以這裡我們沒有用分頁)

為了更直觀的顯示他們的層級關係,我們在展示模塊名稱的時候 寫了個簡單的方法 錯層顯示

 

5、我們接收一些查詢的參數,然後將查詢結果輸出到頁面(查詢關鍵字的接收以及後面分頁用到的分頁參數的接收都在BaseController 我們這裡只接收 系統ID 就可以了)

 

6、我們在Index視圖頁添加操作按鈕

 

7、查詢檢索項

 

8、接收列表動態類,輸出列表

 

四、在程式中 我們已經對 模塊的操作許可權做了驗證,但是,讓用戶點擊一個操作按鈕就提示 您沒有許可權,這是很不友好的,所以,我們想,用戶對某個模塊沒有操作許可權,我們就把這個按鈕Remove掉

 

我們在BaseController已經對頁面輸出了許可權集合 我們在佈局頁中接收這個集合併做出處理:對本模塊沒有的操作許可權 我們Remove掉

 

 

 

這樣,我們就做到了前臺和後臺的雙驗證。

 

給大家展示一下前臺效果(註意:我們在添加測試數據的時候 並沒有 添加 addchild 許可權) 所以 在頁面中 列 操作 的 [添加子模塊] 被移除了

 

 

 

原創文章 轉載請尊重勞動成果 http://yuangang.cnblogs.com


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這是第一次在博客園中寫自己的隨筆,也是第一次使用Markdown的編輯環境,值得紀念一下!希望在以後學習linux的道路上能多多記錄自己的學習心得和遇到問題的解決方法,朝著運維的方向邁出堅實的腳步。 問題描述 最近在編譯一個開源軟體時,在好不容易配置好各種編譯環境之後,由於各種許可權問題還是無法正常進 ...
  • 這是 WIN32 自動創建多級子目錄的 C++ 封裝類,用法簡單。 封裝沒有採用類的靜態函數方式,而是在構造函數裡面直接完成工作。沒什麼具體的原因,只是當時做成這樣了,這麼多年就一直這樣用了。 #ifndef lxx_hss_auto_create_folder_hss #define __HSS_... ...
  • http://code.csdn.net/news/2820879 想出一個難破解且容易記的密碼對不是一件簡單的事情。在我為電腦設定一個新密碼,或者線上註冊了一個新的賬號,需要輸入密碼的時候,腦袋就一片空白。不過,Linux下有幾個密碼生成工具可以使用,每一個工具都有自己的辦法生成安全的密碼。 1. ...
  • 最近用到了rsync的非同步非同備份,一個簡單的rsync同步配置,總結起來有以下幾個步驟: 1)服務端配置:vim /etc/rsyncd.conf 進入編輯,加入如下配置: 2) 創建所需要備份的目錄,添加上面配置的虛擬用戶:useradd wlpt -s /sbin/nologin. 3) 修改 ...
  • Hello, Android Android 開發與 Xamarin 簡介 在這兩節指南中,我們將 (使用 Xamarin Studio或 Visual Studio)建立我們的第一個 Xamarin.Android 應用程式 並理解使用Xamarin 開發Android 應用程式的基本原理的。在這 ...
  • 最近我一直在編寫適用於Windows 10商店的游戲.這款游戲比較怕玩家用修改器改金錢,因為這種修改會導致某些內購失效並且損害公平性。於是我把自己見過的三種反修改器的方法給網友們介紹一下。 首先說明一下我總結的防止游戲作弊的理念: 1.預防修改,防患於未然,讓可用的修改手段減少。 比如說,你讓你的U ...
  • WPF的中模板有三種:ControlTemplate、ItemsPanelTemplate、DataTemplate,他們繼承抽象類FrameworkTemplate,下麵是它們的繼承關係: Windows Presentation Foundation (WPF) 中的控制項具有 ControlTe... ...
  • 使用使用Aspose插件對Excel文檔進行導入導出操作 使用前請先下載Aspose插件引用 Excel導入: 前臺使用file標簽獲取,submit方式提交。 後臺接收: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...