2014-10-17 21 views
5

Tôi có Trang web ASP.NET có trang đăng nhập chuyển hướng đến trang mặc định trong trường hợp xác thực thành công. Tôi có một trang ASP.NET dưới một tên miền khác, nơi tôi cần đặt một mẫu đăng nhập, nó sẽ chuyển hướng người dùng đã được xác thực đến trang mặc định của trang web đầu tiên. Cách nào là tốt nhất để thực hiện việc này?Đăng nhập tên miền chéo trong ASP.NET Website

Mọi trợ giúp sẽ được đánh giá cao ..

+3

Không rõ? Có thật không? – ChrisBint

+0

Vấn đề cơ bản là bạn không có mã thông báo xác thực của miền khác. Tuy nhiên, bạn có thể thực hiện yêu cầu AJAX cho trang web đầu tiên và yêu cầu người dùng đó đăng nhập hay không (bao gồm cả URL chuyển hướng, nếu cần). Bạn chỉ cần sử dụng tiêu đề HTTP để thông báo cho trình duyệt rằng đây là một hành động pháp lý (hợp lệ chấp nhận xuất xứ). – Luaan

+0

Nếu bạn có quyền truy cập vào mã trên cả hai trang web, bạn có thể thêm mã thông báo vào chuỗi truy vấn mà cả hai trang web đều có thể hiểu và dịch thành thông tin được sử dụng để xác thực người dùng một cách tự động. Một tùy chọn khác là sử dụng dấu hiệu đơn lẻ phù hợp như Joe được đề xuất bên dưới. –

Trả lời

0

Cảm ơn bạn đã trả lời của bạn. Tôi nghĩ câu hỏi của tôi không đủ chính xác.

Tôi đã giải quyết được sự cố của mình bằng iframe với trang đăng nhập của ứng dụng đầu tiên làm nguồn.

<iframe id = "iframe1" name ="loginFrame" src="http://domain2/Login.aspx?for_web=true" onload="iframeLoaded" ></iframe> 

Để chuyển hướng đến trang mặc định đã đăng nhập của trang web đầu tiên, hãy thêm OnClientClick = "formWeb.target = '_ parent';" vào nút đăng nhập. Vì vậy, khi nút Đăng nhập được nhấp vào, trong trường hợp xác thực thành công, trang mặc định (dưới tên miền khác) sẽ được mở trong cùng một cửa sổ (không phải khung)

<form id="formWeb" runat="server"> 
    <asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnLogin_Click" OnClientClick="formWeb.target ='_parent';" /> 
</form> 
+1

Bạn đã trả lời câu hỏi của riêng bạn nhưng mã thông báo web JSON đáng nhắc đến của nó, đây là những thẻ nhẹ và sẽ là lý tưởng trong trường hợp sử dụng này - http://jwt.io –

1

Những gì bạn đang làm sau là đăng nhập một lần. Các cơ chế chuyển hướng đăng nhập succsesful đang trong web.config

thấy ở đây 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" /> 

Cũng xem ở đây: Asp.net forms authentication and multiple domains

Các vấn đề liên quan