Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在同一域上的IIS应用程序之间共享身份验证_Asp.net_Iis_Authentication_Virtual Directory - Fatal编程技术网

Asp.net 在同一域上的IIS应用程序之间共享身份验证

Asp.net 在同一域上的IIS应用程序之间共享身份验证,asp.net,iis,authentication,virtual-directory,Asp.net,Iis,Authentication,Virtual Directory,我在www.example.com上有一个IIS网站 以及www.example.com/demo上的虚拟目录/ 如何在虚拟目录中使用来自www.example.com的身份验证cookie?您正在寻找解决方案。如果我链接的文章对你没有帮助,那么当你知道该做什么的时候,还有很多内容;) 解决方案是使用集成身份验证。通过这种方式,用户查找和使用的身份验证权限将与同一域上的服务器在所有站点上的访问权限相同。如果您使用的是基本身份验证或kerberos身份验证,那么您的身份验证将不会在站点之间传递,即

我在www.example.com上有一个IIS网站

以及www.example.com/demo上的虚拟目录/


如何在虚拟目录中使用来自www.example.com的身份验证cookie?

您正在寻找解决方案。如果我链接的文章对你没有帮助,那么当你知道该做什么的时候,还有很多内容;)

解决方案是使用集成身份验证。通过这种方式,用户查找和使用的身份验证权限将与同一域上的服务器在所有站点上的访问权限相同。如果您使用的是基本身份验证或kerberos身份验证,那么您的身份验证将不会在站点之间传递,即使是在同一台服务器上,也可能不会在不同线程下运行的站点部分之间传递,例如不同的应用程序池

使用asp或Cookie中的会话数据在页面之间共享同一站点上的会话信息。即使虚拟文件夹在不同的池中共享,cookie也可以工作。只要围绕虚拟目录的要求编写代码,以防它在多个站点之间共享

另外,如果您已经在使用cookies,只需让虚拟机中的代码与您在其他页面上使用的代码相同即可


虚拟机的其他要求是什么?它在同一台服务器上吗?

cookies在同一个域中共享,甚至在应用程序之间共享。 我使用相同的cookie在经典ASP应用程序和.net应用程序之间共享身份验证,没有出现问题


只需使用相同的规则来加密或存储cookie。

是您拥有的简单虚拟目录(通常用于映射IIS站点中的某些物理文件夹)还是具有不同IIS应用程序池的应用程序文件夹(在不同进程下运行,不与父网站共享任何内容)?那么,一个文件夹转换成一个应用程序?如果主网站web应用程序使用表单身份验证怎么办?创建一个自定义文件夹并在每个网站上使用它就成功了。Todd Smith,我在两个站点上添加了相同的机器密钥,但仍然看到类似这样的错误-无法验证数据。在System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt,Byte[]buf,Byte[]modifier,Int32 start,Int32 length,IVType IVType,Boolean useValidationSymAlgo,Boolean signData)@Deepak:听起来你应该问一个新问题,在这个问题中你可以添加关于你的设置的更多细节。@Tomas,我已经创建了-