繁体   English   中英

同一Web服务器上跨应用程序的身份验证/登录问题 IIS 7.5安装

[英]Authentication / login issue on cross applications on same web server | IIS 7.5 install

在同一服务器上有两个应用程序设置,即GamesPlayLogin和GamesPlay。 [Windows Server 2008 R2]

因此,使用登录应用程序(GamesPlayLogin)对用户进行身份验证之后,

<authentication mode="Forms">
  <forms name="GamesLoginCheck" loginUrl="/GamesPlayLogin/Default.aspx"  
         timeout="240" path="/" slidingExpiration="true" />
</authentication>

它们被重定向到应用程序:GamesPlay。 但是在进行重定向时,身份验证每次都会失败,并且用户将被重定向回第一个应用程序:GamesPlayLogin。

根据需求决定,将这两个应用程序设置为在不同的应用程序池中运行,这可能是为了避免其中一个应用程序中发生的问题影响另一个应用程序。 我们正在使用自动生成的键。

另外,我们通过选中IIS(版本7.5)确保未选中“为每个应用程序生成唯一密钥”复选框。

事件日志显示::

Event message: Forms authentication failed for the request
Reason: The ticket supplied was invalid

我看到了许多与上述事件日志有关的解决方案,但没有成功。 首先,我的应用程序在SAME WEB SERVER上,并且使用自动生成的密钥进行的相同设置已在更早的版本中运行(Windows Server 2008,直到我们最近迁移到Windows Server 2008 R2为止)。

我仍在寻找为什么相同的设置可以更早地起作用的原因(Windows Server 2008),但是最近移至Windows 2008 R2之后却不能起作用。

IIS 7和7.5之间的区别是,应用程序池的默认标识从“网络服务”更改为自动生成的AppPool标识。

另外,两个应用程序池在不同的用户下运行。

由于autogenkey基于每个用户存储,并且两个进程在不同的用户下运行,因此它们将具有不同的autogen密钥,这最终解释了为什么我们在这里看到问题。

通过DEV'S Blog最终证明很有帮助。

最后,考虑到我们的要求,我们将每个应用程序池的应用程序池标识更改为同一用户。

同样,Kev撰写的此博客文章介绍了如何将autogenkey存储在注册表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM