将ASP.net会员提供程序移动到单独的类库中

时间:2011-03-08 22:20:41

标签: asp.net-mvc-2 asp.net-membership

我正在构建一个具有非常基本身份验证的MVC 2应用程序(一个用户和角色来访问管理员部分)。因为在我启动项目时内置了一些基本的表单身份验证,所以我只是使用了它。问题是,我已经开始将所有数据访问代码移动到一个单独的项目(类库),我不知道如何在不破坏所有内容的情况下移动成员资格提供程序。我宁愿不把它留给其他代码,但是如果存在足够的代码,我也不想花费数小时来推销自己的提供商。

那么,是否可以将内置的asp.net成员资格提供程序代码移动到单独的类库项目中?如果是这样,怎么样。如果没有,我的选择是什么?

3 个答案:

答案 0 :(得分:3)

如果您尝试使用类库,则必须引用System.Web和System.Web.ApplicationServices

答案 1 :(得分:1)

对于我自己,我正在使用一个封装了Membership类的AuthenticationService类,因此可以更轻松地对我的控制器进行单元测试,也更容易将我的类移动到我想要的位置。在我的控制器中,我有一个IAuthentificationService,它在控制器的构造函数中过去(来自DI)。如果您想从Asp.Net会员资格切换到其他“安全提供商”,也会更容易。

答案 2 :(得分:0)

内置的asp.net提供程序仅使用配置设置和数据库设置。您不必为它编写大量代码。如果你指的是如何在你的代码中调用它的方法,如(getUser()或validateUser()等),那么你可以很好地在类库中引用所需的DLL并在那里移动代码。