愛上MVC3系列 使用Func實現訪問許可權的設計

2021-09-06 07:17:10 字數 2033 閱讀 6346

回到目錄

這個文章事實上也是乙個系列,主要介紹小微對於mvc3上的許可權設計方案,如對action的訪問許可權,對partialview的訪問許可權,和我最近研究的

對頁面中html塊級訪問許可權!

一 提供好的~action與controller加訪問許可權

二 擴充套件mvc中的html.action,為分部檢視作訪問許可權

三 擴充套件mvc的htmlhelper,為頁面某塊html塊(閉合的塊)加訪問許可權

直接將特性加到controller或者action上,即可,對於這部分詳細內容可以看這篇文章

1

[rolefilter(roleflag.workshopuser)]

2public

jsonresult talkdetail(formcollection form)

3

對於,為html.action加許可權其實就是把原來的方法進行過載幾個,然後加入許可權判斷依據,就可以了,比較簡單,但比較實用,在專案開發中

感覺不太靈活,但對於要為公用的分部檢視而言,已經足夠了。(應該分部檢視a頁面是一種訪問許可權,而在b頁面是另一種訪問許可權,所以不能直接加到action上幼)

1

///2

///帶許可權的分部檢視

3///

4///

5///

6///

7///

8///

9///

10public

static mvchtmlstring action(this htmlhelper htmlhelper, string actionname, string controllername, object

routevalues, roleflag roleflag)

1117

///18

///帶許可權的分部檢視

19///

20///

21///

22///

23///

24public

static mvchtmlstring action(this htmlhelper htmlhelper, string

actionname, roleflag roleflag)

2528

///29

///帶許可權的分部檢視

30///

31///

32///

33///

34///

35///

36public

static mvchtmlstring action(this htmlhelper htmlhelper, string actionname, object

routevalues, roleflag roleflag)

37

看看他在頁面上的體現吧:

1

@html.servertime(userrole.gethashcode(),

2 @3

ok牛了

"button

" value="

不會吧" />

4)

而它的核心**為:

1

#region 頁面**塊級許可權設計

2///

3///

頁面**塊級許可權設計

4///

5///

6///

角色id

7///

8///

9public

static helperresult rolehtmltags(this htmlhelper htmlhelper, int role, functemplate)

10);17}

18#endregion

呼叫時的**,注意我們使用它輸入引數使用或者等標記括起來

@html.rolehtmltags(1,@

我的html**

)

喜歡**藝術性的跟我一起研究吧,呵呵 !

回到目錄

愛上MVC3系列 全域性異常處理與異常日誌

1 registerglobalfilters globalfilters.filters 它的主要使用是將全域性過濾器進行註冊,而全域性過濾器可以在registerglobalfilters這個方法裡進行設定,如 1 2 全域性過濾器 特性 3 4 5public static void regi...

MVC3 使用NPOI匯出excel

此次專案中使用的是npoi的1.25版本,專案是mvc3,在這裡只貼上controller部分的 1 using npoi.hssf.usermodel 2using npoi.ss.usermodel 1 2 匯出excel 3 4 聯盟id 5 遊玩時間 6 7public actionresu...

MVC3 使用mvcpager實現資料分頁

2 寫好公共的分頁 引用 webdiyer.webcontrols.mvc int pagesize 10 分頁 每頁記錄數預設 泛型tentity實體 頁碼 頁資料列表 public pagedlistgetpagedata int?pageid,iqueryablequery 分頁 泛型tent...