【问题标题】:In DotNetNuke, what is the difference between a authentication provider and membership provider?在 DotNetNuke 中,身份验证提供者和成员资格提供者有什么区别?
【发布时间】:2013-02-11 15:16:07
【问题描述】:

我正在与一个产品负责人合作,他拥有一个现有的 ASP.NET Web 应用程序来执行一些报告。为了便于讨论,我们称之为“WebApp1”。

她要求我们提供一个 DotNetNuke 门户以提供论坛功能。

作为要求的一部分,DotNetNuke 门户的主登录屏幕应根据“WebApp1”的用户数据库对用户进行身份验证。 “WebApp1”的现有用户表有散列密码。

在研究这些要求时,我发现 MemberShipProvider 模式和 AuthenticationProvider 似乎都满足相同的要求。

从 DotNetNuke 的角度来看,这些提供商之间有什么区别?哪种模式引入的复杂度最低?

请注意,我在 DotNetNuke 方面的经验有限。

感谢 StackOverflow 社区的帮助。

【问题讨论】:

    标签: asp.net dotnetnuke dotnetnuke-6


    【解决方案1】:

    身份验证仅处理登录(您是谁{用户名},您是否拥有正确的密码)。

    会员资格处理这更像是授权(现在我知道你是谁,你可以这样做)

    【讨论】:

      【解决方案2】:

      ----我为PowerDNN.com工作----

      嗨,迈克尔, 几个月前,我写了一个会员提供商来做类似的事情,我们将 DotNetNuke 网站连接到基于 linux 的后端系统以进行授权。我觉得我有点作弊,但我的解决方案效果很好。

      这是我所做的: 1) 我继承自 DotNetNuke 的会员提供商。 2)我用自定义代码覆盖了“登录”功能。 2.1) 它在远程系统中找到用户。 2.2) 它验证远程用户的凭据。 2.3)如果用户不存在,它会在 DNN 中创建用户。 2.4) 它将任何权限同步到 DNN 2.5) 我让用户登录。

      作为仅供参考,当我创建本地用户时,我会给它一个前缀,例如“CUSTOM-#####”,其中##### 是他们在远程系统中的 ID。这样我就可以轻松分辨出哪些用户是“常规”dnn 用户,哪些用户是同步用户。

      另外,如果我在远程数据库中找不到用户,那么我会针对 DNN 本身进行身份验证(这样,像“主机”和“管理员”这样的用户也可以工作)。

      我希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2015-05-04
        • 2015-03-20
        • 2020-09-03
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-07
        相关资源
        最近更新 更多