2012-04-25 22 views
11

Tôi đang sử dụng ADFS để xác thực trong ứng dụng web ASP.net của mình. Máy chủ STS chuyển hướng trình duyệt đến https://test.contoso.com. STS không cho phép bất kỳ tham số URL trả về nào khi chuyển hướng máy khách đến STS ở địa điểm đầu tiên.Chuyển hướng URL từ máy chủ ADFS

Có thể chuyển hướng trình duyệt từ https://test.contoso.com (sau khi chuyển hướng từ STS) đến bất kỳ URL nào khác, giả sử https://variableName.test1.contoso2.com không?

Bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

14

Khi xác thực, ADFS theo mặc định sẽ chuyển hướng người dùng đến lĩnh vực Ứng dụng bên Relying. Có vẻ như đây là những gì bạn đã có nhưng bạn muốn có thể chuyển hướng đến một URL RP khác.

Giả sử bạn có RP, với lĩnh vực http://myrprealm.com được định cấu hình trong ADFS. Người dùng duyệt đến http://myrprealm.com/Contacts.aspx. Các WIF FederatedAuthenticationModule (FAM) thấy rằng người dùng không phải là authenticatd, do đó, nó lưu url tương đối "/Contacts.aspx" bên trong một tham số URL trả về được gọi là ru. Ru này được đóng gói bên trong tham số ngữ cảnh thụ động WS-Federation (wctx). FAM sau đó chuyển hướng người dùng đến ADFS để xác thực. ADFS sẽ bảo vệ tham số wctx và lặp lại nó cho RP (http://myrprealm.com) khi xác thực thành công. Bây giờ FAM xử lý đáp ứng ADFS này. Khi FAM mở wctx, nó nhận thấy rằng ru =/Contacts.aspx, vì vậy sau khi thiết lập một phiên, nó sẽ chuyển hướng người dùng đến Contacts.aspx.

Nếu bạn kết hợp WIF vào trang ASP.NET của mình bằng SDK (studio trực quan> Thêm tham chiếu STS), bạn sẽ có hành vi này theo mặc định.

+1

OK, vì vậy tôi đã đăng ký URL_1 làm URL điểm cuối trong ADFS. Nhưng giả sử người dùng truy cập URL_2 và URL_2 được định cấu hình để chuyển hướng người dùng đến ADFS cho auth. Sau khi xác thực, ADFS chuyển hướng người dùng đến URL_1. Tôi muốn nó chuyển hướng nó đến URL_2 hoặc trong URL chung _ {*} nơi người dùng được chuyển hướng đến ADFS. Bất kỳ con trỏ đến điều này? – Sam

+1

Bạn không muốn ADFS chuyển hướng đến URL_2, bạn luôn muốn nó chuyển hướng đến URL_1, nơi WIF đang nghe. WIF sẽ xử lý phản hồi tại URL_1 và sau đó xử lý chuyển hướng người dùng đến URL_2. Vui lòng đọc lại câu trả lời của tôi, tôi đã trình bày chi tiết hơn về các chi tiết. –

+0

@AndrewLavers - Tôi đang chạy vào vấn đề tương tự bằng cách sử dụng VS2013, tuy nhiên tôi dường như không có tùy chọn để thêm Tham chiếu STS. Tôi đã cắm ứng dụng của tôi vào ADFS, tuy nhiên tôi được chuyển hướng đến url gốc mỗi lần chứ không phải URL được chỉ định trong thông số wctx. Tôi hiểu những gì bạn đã nói ở trên liên quan đến việc xử lý FAM phản ứng, nhưng nó dường như không hoạt động nguyên bản. Bạn có thể chỉ cho tôi đi đúng hướng ở đây không? – Brosto