2017-09-23 137 views
0

我有一个用户上传大文件的网站。为了保持网站的响应,我已经从主要部分分离上传部分。现在有两个网站具有两个不同的应用程序池,但两个应用程序池都使用相同的用户标识来运行。问题是现在用户必须首先登录到主站点并且为了上传他们必须再次登录! 如何自动登录已登录主站点的用户?如何自动登录IIS网站?

我使用ASP.NET MVC,但在Windows Server 2016上的老ASP.NET成员资格(IIS 10),这里是我的web.config:

<membership> 
    <providers> 
    <clear /> 
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="NewsDb" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
    </providers> 
</membership> 

回答

0

分享形式,不同的网站进行身份验证,你需要确保你的网站是在相同的主域,否则你将需要实现很多代码

的检查<authentication>节点在你的web.config

你的主网站,登录页面

<authentication mode="Forms"> 
<forms loginUrl="login.aspx" name="{your_auth_cookie_name}" timeout="120" slidingExpiration="true" domain=".yourdomain.com" enableCrossAppRedirects="true"/> 
</authentication> 

您上传网站

<authentication mode="Forms"> 
<forms loginUrl="https://mainsite/login.aspx" name="{your_auth_cookie_name}" timeout="120" slidingExpiration="true" domain=".yourdomain.com" enableCrossAppRedirects="true"/> 
</authentication> 

如果你部署了不同的服务器上的网站,你可能需要统一的计算机密钥,以确保身份验证cookie的解密正确