我正在尝试创建一个在asp.net mvc子域的网站。但我不确定该怎么做。在visual studio中设置此新解决方案时,最好是每个子域都有一个不同的项目,还是只有一个项目?显然,这样做有一些直接的好处,比如在不接触其他子域的情况下发布更新到一个子域。规格说明如下:
1)我有很多应用,每个应用都有自己的子域,比如App1,App2,App3。用户将通过带有登录页面的主域登录,此身份验证将向下传递到应用程序。
2)需要域名对用户进行鉴权,并将鉴权传给子域。子域将只允许经过身份验证的用户访问。ASP.NET允许将身份验证传递到子域。我需要知道的是如何设置项目,以便subdomian知道身份验证是以这种方式通过的。
3)我已经决定沿子域名的路线。
http://App1.domain.com/ http://App12.domain.com/
4)我也在考虑可重用代码。有没有办法在三个不同的子域之间共享母版页,用户控件等?
发布于 2011-09-23 14:16:05
单独的web应用程序,并在每个应用程序的web.config中将domain属性设置为顶级域:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" domain="domain.com" />
</authentication>这样,当用户在其中一个应用程序上进行身份验证时,身份验证cookie将包含domain属性,并将其发送到此域和子域中的其他应用程序,该用户也将在其他应用程序上自动进行身份验证。
发布于 2011-09-23 14:23:16
几天前我也想过类似的情况。我发现了两个选项来做“即时子域注册”。
当根域为registered!
时,子域注册不会启动
在第一种情况下,我将把*.mydomain.com转发到use服务器( IIS ),并使用IIS Administration API将myuser.mydomain.com重定向到物理路径,比如www.mydomain.com/myuser/
在第二种情况下,我只需将www.mydomain.com/myuser/*重写为myuser.mydomain.com/*
身份验证应该不是问题,我会使用过滤器或类似的东西。
https://stackoverflow.com/questions/7524968
复制相似问题