我正在尝试在 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/