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>
如果任何人都可以拋出一些燈光,這將是非常棒的。
你可以發佈堆棧跟蹤嗎? – Eranga 2012-08-10 04:25:33
@Eranga感謝你的時間。它解決了,我已經更新了我的問題。 – 2012-08-10 04:29:34
張貼您的upadate作爲答案。 – Yasser 2012-08-10 05:24:33