0

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

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

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

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

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

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

请知道,我感谢 StackOverflow 社区的帮助。

4

2 回答 2

0

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

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

于 2013-02-11T16:10:31.053 回答
0

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

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

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

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

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

我希望这有帮助!

于 2013-02-11T19:26:44.663 回答