Asp.net 子web application的Session共享

时间:2023-03-08 22:01:04

需求提出:

网站:

父Web Application: http://www.test.com/

子Web Application 1: http://www.test.com/child1

子Web Application 2: http://www.test.com/child1

默认情况下,由于独立的web application之间的Session是不共享的,现在需要这几个web application之间共享Session/登录

解决方案:

使用asp.net state server

步骤:

1. 开启asp.net state server服务

2. 修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\aspnet_state\Parameters中的AllowRemoteConnection的值为1.

3.设置web.config(每个web application)

system.web 下增加:

<sessionState cookieless="UseCookies" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>

<machineKey validationKey="7285450293EE699F349F7DB9BEA1F0B9EE1F045F" decryptionKey="73035EE41002AFB88D12A1B08559389CA351359A232649B3" validation="SHA1" />


以上,测试成功,记录之。