2014-10-09 140 views
1

朋友,自定義角色提供與ASP.net MVC - 角色互換

尋找在下面的情況有所幫助:

系統的用戶有多個角色 - 角色定位和角色B.

使用角色A - 用戶可以訪問視圖 - PageA,PageB。

使用角色B - 用戶可以訪問視圖 - PageP,PageQ。

我有一個用戶,其角色A和角色B的默認角色爲角色A. 問題:當用戶以角色和默認角色作爲角色登錄到系統時用戶應該能夠訪問視圖 - PageA & PageB。我想在佈局中下拉顯示該用戶的角色。當下拉列表中的角色更改爲角色B時,用戶應該能夠訪問PageQ並反之亦然。

是否可以使用自定義角色提供程序和Windows身份驗證與Asp.Net MVC?

歡迎任何想法。

由於事先 DC

回答

1

角色提供的幕後 - 如果要求一個新的頁面,用戶分配的角色都保存在的IPrincipal在當前線程。它發生在頁面生命週期的很早階段。

您不應該在頁面生命週期中刪除/分配角色給IPrincipal。

當在下拉的作用被改變爲角色B,則用戶應該是 能夠訪問視圖PageP & PageQ,反之亦然。

爲了實現它,您不想操縱IPrincipal對象。

相反,請使用簡單的邏輯,例如如果選擇了角色乙

  1. 填充用戶的分配的角色,以如果選擇角色一個DropDownList
  2. ,顯示網頁A,網頁B
  3. ,顯示PageP,PageQ