0

如何在 c# .net 或 asp.net 4.0 中基于注册客户端重定向 url。例如,如果客户注册为“client1”并且我们的网站是 www.mycompany.com,客户收益的每个页面都应该是 www.client1.mycompany.com。

更详细的例子:

例如,创建的另一个客户端是 Client2。我通常创建的页面就像

 "www.mycompany.com/product.aspx" 
 "www.mycompany.com/categories.aspx" should be shown as
 "www.client2.mycompany.com/product.aspx" and
 "www.client2.mycompany.com/categories.aspx" respectively

我在网上搜索并找到静态页面或在应用程序启动期间使用 Gloabal.asax,但在用户登录后没有找到任何东西。

4

2 回答 2

0

我之前在一些网站上做过类似的事情,您可以使用几种方法。假设您有一个 url 设置,以便所有子域 (*.url.com) 将任何用户发送到您的服务器,并且您有 IIS 设置来处理它们(即不需要主机标头,只需 IP)在同一个站点中,您可以使用以下方法之一:

  1. 登录后,只需将用户发送到该 url。由于 .Net 不会关心服务器知道如何呈现它的 url,所以它应该就这么简单。这假设您的所有导航都使用相对路径,并且您必须为该域启用 cookie 共享。如果用于登录的 cookie 是在 1.url.com 上提供的,并且您将它们发送到 2.url.com,则这是必需的。您可以在同一个域中共享 cookie,需要一些工作,但可以完成。
  2. 创建一个通用登录页面,该页面向服务器发送 Web 服务请求,以查看用户是否可以登录。如果他或她可以让它返回给浏览器一个命令,连同正确的 url,告诉客户端浏览器直接发布到该站点的登录页面(发送用户名、密码)。这将使他们登录到他们的站点并从一个简单的登录页面正确分配 cookie。您甚至可以创建一个仅为此目的而存在的外部登录页面。最后,所有通用页面所做的就是查看他们是否可以登录并将其凭据发送到进行登录的正确页面。出于安全原因,我建议在使用 ssl 的帖子中完成此操作。

我希望从那以后。

于 2013-01-21T19:56:19.567 回答
0

我使用了一个名为 UrlRewritingNet 的项目 - 它很旧,但源代码可用,因此您可以为 4.0 重新编译它。

链接在http://urlrewriting.net/149/en/home.html

于 2013-01-21T21:40:20.407 回答