ASP.NET中的表单身份验证问题

Geo*_*ge2 1 asp.net iis-7 forms-authentication

我使用的是Visual Studio Team System 2008(VSTS),C#,.NET 3.5,IIS 7.0和ASP.NET.我有两个IIS网站,站点A和站点B.他们的相关域名是,http://sitea.example.comhttp://siteb.example.com.

我听说使用表单认证时,我们可以启用域级别的Cookie,也就是说,如果两个站点都在同一个域(例如两者sitea.example.comsiteb.example.com在域example.com),最终用户只需要进行一次认证.更详细地说,如果用户通过其中一个站点进行了身份验证(通过身份验证),则无需再在其他站点中对用户进行身份验证.

如何为我siteasiteb?启用此功能?我是否需要更改两个web.config中siteasiteb

另一个困惑是,如果用户通过身份验证sitea,则可以确定用户的身份是否被识别sitea,但是如何siteb在不再对用户进行身份验证的情况下识别用户的身份?

blo*_*art 8

假设两个站点共享相同的成员资格数据库,那么您可以在web.config 的表单身份验证部分中设置cookie域.

<authentication mode="Forms">
    <forms .... domain="mycorp.com"/>
</authentication>
Run Code Online (Sandbox Code Playgroud)

请注意,您还必须在web.config中设置匹配的计算机密钥,因为这些密钥用于对身份验证cookie进行签名.