我有一個ASP.NET網站,登錄頁面在成功驗證的情況下重定向到默認頁面。我在另一個域下有另一個ASP.NET站點,我需要放置一個登錄表單,它將已經通過身份驗證的用戶重定向到第一個網站的默認頁面。這樣做的最好方法是什麼?ASP.NET網站中的跨域登錄
任何幫助將不勝感激..
我有一個ASP.NET網站,登錄頁面在成功驗證的情況下重定向到默認頁面。我在另一個域下有另一個ASP.NET站點,我需要放置一個登錄表單,它將已經通過身份驗證的用戶重定向到第一個網站的默認頁面。這樣做的最好方法是什麼?ASP.NET網站中的跨域登錄
任何幫助將不勝感激..
謝謝您的答覆。我認爲我的問題不夠確切。
我解決了我的問題,使用iframe與第一個應用程序的登錄頁面作爲源。
<iframe id = "iframe1" name ="loginFrame" src="http://domain2/Login.aspx?for_web=true" onload="iframeLoaded" ></iframe>
要重定向到所述第一站點的登錄的默認頁面,添加的OnClientClick =「formWeb.target =‘_父’;」到登錄按鈕。所以當點擊登錄按鈕時,如果認證成功,默認頁面(在另一個域下)將在同一個窗口中打開(不是一幀)
<form id="formWeb" runat="server">
<asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" OnClientClick="formWeb.target ='_parent';" />
</form>
你已經回答了你自己的問題,但它的值得一提的JSON網絡令牌,這些是輕量級的,並且在這個用例中是理想的 - http://jwt.io – 2014-10-21 15:06:29
你是什麼之後是單點登錄。在succsesful登錄重定向的機制是在web.config
這裏http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx
<configuration>
<system.web>
<authentication mode="Forms" >
<!-- The name, protection, and path attributes must match
exactly in each Web.config file. -->
<forms loginUrl="login.aspx"
name=".ASPXFORMSAUTH"
protection="All"
path="/"
domain="contoso.com"
timeout="30" />
</authentication>
<!-- Validation and decryption keys must exactly match and cannot
be set to "AutoGenerate". The validation and decryption
algorithms must also be the same. -->
<machineKey
validationKey="[your key here]"
decryptionKey="[your key here]"
validation="SHA1" />
不明確?真? – ChrisBint 2014-10-17 14:04:59
基本問題是您沒有其他域的身份驗證令牌。但是,應該可以對第一個站點執行AJAX請求,並且無論用戶是否已登錄(如果需要,包括重定向URL),都會返回該請求。您只需使用HTTP標頭來告訴瀏覽器這是一個合法的行爲(有效的接受來源)。 – Luaan 2014-10-17 14:26:09
如果您有權訪問這兩個網站上的代碼,則可以將標記添加到這兩個網站都可以理解的查詢字符串中,並將其轉換爲用於自動驗證用戶身份的信息。另一種選擇是使用適當的單點登錄,正如Joe建議的那樣。 – 2014-10-17 14:46:57