已解决:方法public override string[] GetRolesForUser(string username)
错误地返回null作为数组的第一项。现在好了。
我正在尝试为我的应用程序实现自定义角色和成员资格提供程序,但没有运气角色提供程序。在我的一个控制器的方法中,如果我有[Authorize]
指令它工作正常,但当我想通过添加[Authorize(Roles = "Admin")]
进行基于角色的授权时,它会出现错误,指出'Key不能为空。参数名称:key'。
我认为 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 :(得分:0)
已解决:方法public override string [] GetRolesForUser(string username)错误地返回null作为数组的第一项。现在好了。