2012-08-10 398 views
0

已解決:方法public override string[] GetRolesForUser(string username)錯誤地返回null作爲數組的第一項。現在一切正常。錯誤:密鑰不能爲空。參數名稱:key

我想爲我的應用程序實現自定義角色和成員資格提供程序,但沒有與角色提供程序運氣。在我的控制器的一個方法中,如果我有[Authorize]指令,它可以很好地工作,但是當我想通過添加[Authorize(Roles = "Admin")]來獲得基於角色的授權時,它會給出錯誤,說明'密鑰不能爲空。參數名稱:鍵'

我認爲web.config文件中的條目存在問題,但無法找到它的內容。 web.config文件中的修改條目看起來像

<membership defaultProvider="CustomMembershipProvider"> 
     <providers> 
     <clear /> 
     <add name="CustomMembershipProvider" type="eLibrary.Models.CustomMembershipProvider" connectionStringName="AppDb" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
     </providers> 
    </membership> 
    <roleManager defaultProvider="CustomRoleProvider" enabled="true" cacheRolesInCookie="true" > 
     <providers> 
     <clear/> 
     <add name="CustomRoleProvider" type="eLibrary.Models.CustomRoleProvider" /> 
     </providers> 
    </roleManager> 

如果任何人都可以拋出一些燈光,這將是非常棒的。

+0

你可以發佈堆棧跟蹤嗎? – Eranga 2012-08-10 04:25:33

+0

@Eranga感謝你的時間。它解決了,我已經更新了我的問題。 – 2012-08-10 04:29:34

+0

張貼您的upadate作爲答案。 – Yasser 2012-08-10 05:24:33

回答

0

已解決:方法公共覆蓋字符串[] GetRolesForUser(字符串用戶名)錯誤地返回null作爲數組的第一個項目。現在好了。

相關問題