Single sign on DNN网站的SSO

Single sign on DNN网站的SSO,single-sign-on,dotnetnuke,dotnetnuke-7,Single Sign On,Dotnetnuke,Dotnetnuke 7,我的要求是: 我有一个DNN网站www.websiteA.com 我想在相同的DNN安装上构建www.websiteB.com和www.websiteC.com。www.websiteB.com和www.websiteC.com应允许www.websiteA.com的用户使用相同的用户名和密码登录 当用户登录到www.websiteA.com,然后导航到www.websiteB.com或www.websiteC.com时,他们不必再次登录,因为他们已经登录到主网站 我发现一些模块可以让我在这些网

我的要求是:

我有一个DNN网站www.websiteA.com

我想在相同的DNN安装上构建www.websiteB.com和www.websiteC.com。www.websiteB.com和www.websiteC.com应允许www.websiteA.com的用户使用相同的用户名和密码登录

当用户登录到www.websiteA.com,然后导航到www.websiteB.com或www.websiteC.com时,他们不必再次登录,因为他们已经登录到主网站

我发现一些模块可以让我在这些网站之间共享用户,这样他们就可以使用相同的凭据登录到三个网站中的任何一个。 但是,我无法找到一种方法让用户同时登录所有网站,这样用户就不必再次登录

我更愿意在不太修改DNN源的情况下执行此操作。由于这三个网站都在同一个DNN安装上,我希望有一种方法可以共享身份验证cookie,但我还没有找到任何方法


在这件事上谁能给我提供更多的指导?谢谢

我使用Site Groups功能为两个客户做了这件事,但它需要如上所述的注意事项。您必须为其他门户使用子别名,以便它们都位于同一域中。这是用户会话cookie可以跨门户使用的关键

这就是我设置门户别名的方式:

  • websiteA=portal 0,别名websiteA.com(主)
  • websiteB=portal 1、别名websiteA.com/b(主)和别名websiteB.com重定向别名
  • websiteC=portal 2、别名websiteA.com/c(主)和别名websiteC.com重定向别名
用于管理组的Site Groups用户界面是一个Evoq功能,但后端是一个核心平台结构

以下是在没有DNN社区中的UI的情况下如何配置它:

在PortalGroup表中创建记录: MasterPortalID=0,PortalGroupName='WebsiteA Group',AuthenticationDomain='WebsiteA.com'

现在更新门户表中的PortalGroupID字段:

  • 如果PortalID=0,则设置PortalGroupID=-1
  • 其中PortalID=1,设置PortalGroupID=1(假设您添加的新PortalGroupID为1)
  • 其中PortalID=2,设置PortalGroupID=1

我使用Site Groups功能为两个客户做了这件事,但它需要如上所述的警告。您必须为其他门户使用子别名,以便它们都位于同一域中。这是用户会话cookie可以跨门户使用的关键

这就是我设置门户别名的方式:

  • websiteA=portal 0,别名websiteA.com(主)
  • websiteB=portal 1、别名websiteA.com/b(主)和别名websiteB.com重定向别名
  • websiteC=portal 2、别名websiteA.com/c(主)和别名websiteC.com重定向别名
用于管理组的Site Groups用户界面是一个Evoq功能,但后端是一个核心平台结构

以下是在没有DNN社区中的UI的情况下如何配置它:

在PortalGroup表中创建记录: MasterPortalID=0,PortalGroupName='WebsiteA Group',AuthenticationDomain='WebsiteA.com'

现在更新门户表中的PortalGroupID字段:

  • 如果PortalID=0,则设置PortalGroupID=-1
  • 其中PortalID=1,设置PortalGroupID=1(假设您添加的新PortalGroupID为1)
  • 其中PortalID=2,设置PortalGroupID=1

您可以做的另一件事是编写自己的自定义DNN身份验证提供程序()


然后,让身份验证提供者检查用户系统上的身份验证cookie。如果cookie有效(且未过期),则可以自动登录。否则,将它们重定向到主登录屏幕。我这样做了,但另一个站点是基于Java的仪表板。

您可以做的另一件事是编写自己的自定义DNN身份验证提供程序()


然后,让身份验证提供者检查用户系统上的身份验证cookie。如果cookie有效(且未过期),则可以自动登录。否则,将它们重定向到主登录屏幕。我这样做了,但另一个站点是基于Java的仪表板。

您可能想看看DNN的付费版本。谢谢@ChrisHammond我读到Evoq使用Active Directory提供SSO。如果这是真的,那么它将不符合我们的要求。你知道它是否可以在没有广告的情况下工作吗?@ChrisHammond我进一步研究了它,发现DNN的付费版本有一个创建网站组的功能,这将允许用户共享-让主网站的用户使用相同的凭据登录子网站。我正在寻找的是,用户不需要登录到儿童网站一旦登录到主。我找不到一个明确的答案,这是否是支持与否。你能帮忙吗?不幸的是,要做到这一点,你需要弄清楚如何让所有站点共享一个cookie。如果你使用子域,所有的子域都来自同一个顶级域,这并不太难,否则,我不知道怎么做。你可能想看看DNN的付费版本。谢谢@ChrisHammond,我读到Evoq使用Active Directory提供SSO。如果这是真的,那么它将不符合我们的要求。你知道它是否可以在没有广告的情况下工作吗?@ChrisHammond我进一步研究了它,发现DNN的付费版本有一个创建网站组的功能,这将允许用户共享-让主网站的用户使用相同的凭据登录子网站。我正在寻找的是,用户不需要登录到儿童网站一旦登录到主。我找不到一个明确的答案,这是否是支持与否。你能帮忙吗?不幸的是,要做到这一点,你需要弄清楚如何让所有站点共享一个cookie。如果你是用子域做的,所有的子域都是从同一个顶级域开始的,那么它不会太困难