2014-07-25 57 views
1

我有兩個子域,說單點登錄在.net中不能正常工作,不同的身份驗證cookie的長度

abc.domain.com // main application used for signing in 
xyz.domain.com 

我想要實現單點登錄,但它不是爲我工作。我也相應成立了web.config中爲abc.domain.com

<authentication mode="Forms"> 
     <forms name="my_name" 
     defaultUrl="/" 
     loginUrl="/login" 
     protection="All" path="/" 
     domain="domain.com" 
     cookieless="UseCookies" 
     timeout="10080" 
     slidingExpiration="false" /> 
    </authentication> 

而對於xyz.domain.com

<authentication mode="Forms"> 
    <forms name="my_name" 
    defaultUrl="http://abc.domain.com/"  
    loginUrl="http://abc.domain.com/login" 
    protection="All" 
    path="/" 
    domain="domain.com" 
    cookieless="UseCookies" 
    timeout="10080" 
    slidingExpiration="false" /> 
</authentication> 

我有兩個相同的計算機密鑰:

<machineKey validationKey="122...3E9" decryptionKey="AC1...007" validation="SHA1" decryption="AES" /> 

應用都建有相同的目標框架(4.5)並由相同的應用程序池運行。 (我嘗試了不同的池太)

我不創建auth票我自己,用標準的

FormsAuthentication.SetAuthCookie(model.Email, model.RememberMe); 

我已經看到了一些類似的問題,但沒有任何幫助我。我注意到,如果我在xyz中設置了身份驗證cookie,cookie值具有不同的長度,我認爲它與問題有關,但無法弄清楚爲什麼會發生這種情況。

任何人都可以建議嗎?

謝謝。

回答

0

嘗試在兩種環境中使用<form>元素的相同屬性值。機器鑰匙也應該一樣

相關問題