.net - 在 2 个不同的项目/解决方案/应用程序上创建子域和共享身份验证

标签 .net asp.net asp.net-mvc asp.net-authentication

我正在尝试在 asp.net mvc 中创建一个带有子域的网站。但我不知道该怎么做。在 Visual Studio 中设置这一新解决方案时,最好为每个子域设置一个不同的项目还是一个项目?显然,这样做有一些直接的优势,例如将更新发布到一个子域而不触及其他子域。 规范如下:

1)我有很多应用程序,每个应用程序都有自己的子域,例如应用1、应用2、应用3。用户将通过登录页面的主域登录,并且此身份验证将传递到应用程序。

2) 我需要域来对用户进行身份验证并将身份验证传递给子域。该子域仅允许经过身份验证的用户访问。 ASP.NET 允许将身份验证传递到子域。我需要知道的是如何设置项目,以便子域知道身份验证是通过这种方式通过的。

3) 我决定走子域路线。

http://App1.domain.com/ http://App12.domain.com/

4)我也在考虑可重用的代码。有没有办法在三个不同的子域上共享母版页、用户控件等?

最佳答案

单独的 Web 应用程序,并在每个应用程序的 web.config 中将 domain 属性设置为顶级域:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" domain="domain.com" />
</authentication>

这样,当用户在其中一个应用程序上进行身份验证时,身份验证 cookie 将包含域属性,并将其发送到该域和子域中的其他应用程序,并且用户将在其他应用程序上自动进行身份验证也是如此。

关于.net - 在 2 个不同的项目/解决方案/应用程序上创建子域和共享身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7524968/

相关文章:

c# - MVC4中如何显示图片网格

c# - 如何从 URL 中获取网页标题和图片?

javascript - ASP.NET MVC 内联编辑

c# - TPL 数据流 : Persist previous data

c# - 有没有办法将两个 LINQ 查询合并为一个?

c# - 德国文化中的 XML 解析问题 - ASP.NET

asp.net - AS3 向 ASP 传递和获取数据

JavaScript 链接无法正常工作

.net - .NET WPF应用程序变得不稳定

.net - 优化 vba 宏 excel 2007 的循环