我有一个 HTTPModule 代码,一旦向 IIS 发出请求,它就会为我提供当前登录的用户以及一些其他信息。我们正在根据这些信息执行一些任务。
但这会在每次发出任何请求时触发(应该如此)。这里的问题是我在这个 IIS 上也托管了其他站点,这些站点需要从上述处理中过滤掉。这种过滤没有发生,因为上面的代码被所有站点触发,我只想将其限制为与共享点相关的站点。
我怎么知道 http 请求是针对共享点站点还是任何一般站点?
在这方面的任何帮助或指示都将是非常可观的。
我有一个 HTTPModule 代码,一旦向 IIS 发出请求,它就会为我提供当前登录的用户以及一些其他信息。我们正在根据这些信息执行一些任务。
但这会在每次发出任何请求时触发(应该如此)。这里的问题是我在这个 IIS 上也托管了其他站点,这些站点需要从上述处理中过滤掉。这种过滤没有发生,因为上面的代码被所有站点触发,我只想将其限制为与共享点相关的站点。
我怎么知道 http 请求是针对共享点站点还是任何一般站点?
在这方面的任何帮助或指示都将是非常可观的。
看起来您在 IIS 级别实现了一个模块。
您应该在应用程序级别执行此操作,即为您的共享点站点提供服务的应用程序级别。
您可以通过实施具有 Web 应用程序功能的解决方案来实现此目的,该功能将修改 Sharepoint 应用程序的 web.config。您可以使用 SPWebConfigModification API 来执行此操作:
http://msdn.microsoft.com/en-us/library/bb861909(v=office.14).aspx
在 IIS 级别,您将需要分析请求并根据 URL 或其他参数进行一些过滤,从长远来看,这将是有问题的,因为它需要不断调整。