在n层环境中自定义.Net MembershipProvider?

时间:2009-08-24 19:54:26

标签: .net forms-authentication n-tier-architecture

我正在努力拆分我目前拥有的现有工作应用程序,以便更好地理解n层结构。此应用使用自定义会员资格&角色提供者w /表单身份验证。

目前,所有数据访问和业务逻辑都在同一个ASP.Net解决方案中。

我构建了业务逻辑层(BLL)和数据访问层(DAL),我正在提取业务逻辑。我正在努力争取MembershipProvider类应该存在的位置。

  • 由于使用这些类的内置UI控件(登录,创建用户向导等)的紧密耦合,成员资格提供程序类是否必须驻留在表示层中?

  • 它们可以存在于BLL中吗?如果是这样,我如何从演示文稿中引用它们?一旦从UI中引用BLL,是否只需要将web.config更改为指向BLL.membershipprovider?

在我走错路之前,试着寻找一个健全检查。不幸的是,我无法通过谷歌找到任何这方面的例子。任何帮助/指针都表示赞赏。

2 个答案:

答案 0 :(得分:4)

成员资格/提供者节点的web.config键允许您指定自定义类型,因此在该键中使用适当的命名空间和程序集引用,您可以将自定义成员资格对象放在您认为合适的任何位置。我建议为成员逻辑(从成员基类继承的对象)建立一个单独的DLL,它引用所有内部认证逻辑的BLL。

http://msdn.microsoft.com/en-us/library/aa479048.aspx

答案 1 :(得分:1)

成员资格类可以存在于任何引用的程序集中。只需确保在配置中完全限定命名空间和类名。