2017-09-23 133 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的解密正確