gpt4 book ai didi

asp.net-mvc - 系统架构 : How to Use the same Banner ( like google banner ) in multiple different websites hosted in different domains or subdomains )

转载 作者:行者123 更新时间:2023-12-05 01:19:53 28 4
gpt4 key购买 nike

我有一个使用 ASP MVC 4 的新大项目,我需要在未来构建许多微型 Web 应用程序,其中包含:

  • 一个Banner(比如黑色的Google banner,用于身份验证、通知、搜索……等)
  • 必须访问横幅信息并知道用户是否通过身份验证的主体。

让我解释一下,如果我们看一下:

  • Google play(子域)
  • 谷歌地图(子域)
  • Google 翻译(子域)
  • Google Gmail(子域)
  • Youtube (不同域)

我们会注意到它的所有子域甚至不同的域 (youtube) 都是完全相同的横幅,它们只是更改了内容,如果我已经在 google play 中进行了身份验证,我不需要再次进行身份验证在 Gmail 或 YouTube 中。

我想对我的网站做同样的事情:这里有一个图片解释链接:http://www.use.com/ba3e6c12424c7696be7f

我的问题或只是需要确认:

1- 是否可以在不同的域中托管横幅和网站,并且仍然不在每个网站中再次进行身份验证?我正在考虑 YouTube 域和 google 域,这是可能的。我怎样才能获得相同的体验?

2 - 我认为使用子域非常容易,不需要 OAuth 2 进行身份验证,只需普通的 ASP MVC 4 简单成员即可完成这项工作,对吗?

3-假设我选择带有子域的 ASP MVC 4 简单成员资格,如果我想获得与 google 横幅相同的体验,我该如何组织我的项目,这样我的横幅就不会在每个项目中都有重复的代码?

a) 第一个想法是构建横幅,将其放入程序集中并使用 HTML 帮助程序呈现它,这是一个不错的选择吗? )

b) 如果我将每个子域托管在不同的服务器中,我是否仍然会有相同的体验?

c) 我可以选择在子域 1 中托管横幅并使用 JavaScript 将其加载到子域 2 中的网站吗? (我是否还有同样的经历)

4-假设我必须给不同域(不是子域)中的每个网站,我该如何管理架构?我只需要一些线索。

5- 如果我在所有方面都错了,您能否指导我在完全不同的域或不同的子域中获得完全相同的体验并提供优雅的解决方案?

提前谢谢你,抱歉我的英语不好(第三语言)。

最佳答案

您在这里确实有两个不同的问题。首先,如何在多个项目中包含一些 HTML。这里真的有无数的可能性。如果您的所有站点都在 Visual Studio 中的同一个解决方案中,最简单的方法是简单地选择一个项目来保存横幅的局部 View ,然后在您的其他项目中链接到它。您可以通过在解决方案资源管理器中右键单击项目中的某处并选择添加 -> 现有项目...,在其他解决方案中找到该文件,但不是“添加”以确认,而是单击它旁边的箭头,展开下拉菜单并选择“添加为链接”。

或者,如果您的一个或多个网站不在同一个解决方案中或完全使用另一种语言,那么您最好的选择可能只是将 HTML 片段保存为平面文件,每个网站都可以访问的地方到。然后,您只需从该文件中读入并显示它。

您的第二个问题更复杂:如何共享身份验证。如果所有站点都在同一个域(子域)上,那么您只需在域本身上设置 cookie,所有子域都将收到 cookie 并可以访问身份验证状态。但是,如果您在不同的域上拥有站点,它就会变得更加复杂。您要么必须实现 OAuth 之类的东西,如果所有站点都属于一起,这将很尴尬(即 OAuth 仅真正用于与第三方进行身份验证,没有人真正使用它在相关但不同的域之间共享身份验证。)或者,您基本上创建一个为其他站点提供身份验证的服务器。

这是一种复杂的设置,但您已经在 Google 拥有的 Assets 等地方看到了它的实际应用。当你去登录时,它会带你到 accounts.google.com,然后你在登录后被重定向到原始站点。从本质上讲,发生的事情是技术上你唯一“登录”的地方是帐户.google.com。如果家族中的其中一个站点需要身份验证,它会将您重定向到 accounts.google.com。此时,如果您已经有一个授权 cookie,它会被发送并且 accounts.google.com 恢复您经过身份验证的 session ,然后它会重定向回原始站点,并使用一些标识您已登录的 token 。进入所有细节以及如何实际设置它远远超出了 StackOverflow 上可以合理完成的范围,但是 this is a really good reference and starting point .第 1 部分描述了该理论。下一部分详细介绍了如何设置它。

关于asp.net-mvc - 系统架构 : How to Use the same Banner ( like google banner ) in multiple different websites hosted in different domains or subdomains ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18277901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com