【问题标题】:Custom .Net MembershipProvider in n-tier environment?n 层环境中的自定义 .Net MembershipProvider?
【发布时间】:2009-08-24 19:54:25
【问题描述】:

为了更好地理解 n 层结构,我正在拆分我目前拥有的一个现有的、正在运行的应用程序。此应用程序使用带有表单身份验证的自定义成员资格和角色提供者。

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

我已经构建了一个业务逻辑层 (BLL) 和一个数据访问层 (DAL),我正在提取业务逻辑。我正在为 MembershipProvider 类应该存在的位置而苦苦挣扎。

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

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

只是在我走错路之前尝试进行一次健全性检查。不幸的是,我无法通过谷歌找到任何这样的例子。任何帮助/指针表示赞赏。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-08-14
        • 2011-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-26
        相关资源
        最近更新 更多