MVC3 / MVC4中的简单成员和角色提供程序

时间:2014-01-20 17:01:59

标签: c# asp.net-mvc-3 asp.net-mvc-4 membership-provider roleprovider

我正在写简单会员和角色提供者。 我正在尝试从帖子http://www.brianlegg.com/post/2011/05/09/Implementing-your-own-RoleProvider-and-MembershipProvider-in-MVC-3.aspx运行代码,但在运行IIS时显示错误:

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Line 39:       <providers>
Line 40:         <clear />
Line 41:         <add name="LocalBankMembershipProvider" type="LocalBank.Helpers.LocalBankMembershipProvider, LocalBank" connectionStringName="LocalBankEntities" />
Line 42:       </providers>
Line 43:     </membership>

Message Parser Error: Target call threw an exception.
Line: 41

我在项目开始时犯了错误? 使用Nuget包将项目从mvc3转换为mvc4

我该如何解决此错误?

1 个答案:

答案 0 :(得分:0)

您是否按照同一链接上的评论部分提供了建议?

很少有尝试:

  1. 可能是连接字符串错误,因此您会看到此错误。更改连接字符串(例如数据源)。如果您仍然发现问题,请调试项目并查看其确切位置以及您可以获得的更多信息。我能够重现这个问题,并且连接字符串的更改已经解决了。

  2. 调试时,您会看到它在检查角色时会抛出异常。根据博客,您需要添加默认角色“经理”:

  3.   

    唯一需要注意的是没有创建角色。如果您查看AccountController注册HttpPost操作,您会注意到通过此站点注册的任何用户都被赋予默认角色“Member”。这可以更改,但必须首先在Role表中创建此角色。您可以通过编写脚本(最可能是首选方法)来执行此操作,或者您可以编写一些hacky代码并快速调用它,因为它只需要在首次创建角色时运行一次。下面是一些示例代码,您可以使用它们来创建“成员”角色,根据您的需要进行修改。

    LocalBankRepository repo = new LocalBankRepository(); 
    repo.AddRole("Member"); 
    repo.Save(); 
    
      

    从代码中的某个位置调用这3行(或单独的   “初始化程序”项目)从那时起代码应该起作用   预期。对不起,感到困惑。

    如果您仍然面临更多详情的问题分享。希望这会有所帮助。