2010-06-17 93 views
0

任何人都可以expalin我如何從數據庫表中動態生成角色,而不是在代碼中對其進行硬編碼。從數據庫添加角色表

ClaimsIdentity outputIdentity = new ClaimsIdentity(); 
     outputIdentity.Claims.Add(new Claim(System.IdentityModel.Claims.ClaimTypes.Name, principal.Identity.Name)); 
     outputIdentity.Claims.Add(new Claim(ClaimTypes.Role, "Manager")); 
     outputIdentity.Claims.Add(new Claim(ClaimTypes.Country, HttpUtilities.GetProgramIdentifierFromUrl())); 
     return outputIdentity; 

回答

1

你是如何存儲你的角色?我相信它是沿着線的東西:

Create Table Roles 
(
RoleId int identity(1,1) Not Null, 
RoleName varchar(50) not null 
) 

你爲什麼不只是查詢數據庫來獲取角色ID,然後使用您更新查詢的結果。

在這個過程中,用戶不會選擇角色嗎?你不能爲他們的初始選擇獲取ID或RoleName嗎?

+0

對不起巴里我問了這個問題。我能否添加自己的成員claimtypes,電流claimtypes類具有以下成員, 匿名 認證 AuthorizationDecision 國家 出生日期 DenyOnlySid 的dns 電子郵件 性別 給定名稱 哈希 HOMEPHONE 局部性 MobilePhone 名稱 的NameIdentifier 其他電話 PostalCode PPID Rsa Sid Spn StateOrProvince 的StreetAddress 姓 系統 指紋 UPN 烏里 頁面 X500DistinguishedName 是否有可能增加一個新成員。它是一個靜態類,無法繼承它。 – SRA 2010-06-17 09:21:03

+0

這會對你有用嗎? http://msdn.microsoft.com/en-us/library/ms734687.aspx – codingbadger 2010-06-17 09:33:43

+0

謝謝巴里。我會繼續這樣做。一段時間後會送你一個樣品。 – SRA 2010-06-17 09:45:41