2014-04-12 17 views
8

Tôi đã tạo webapp đơn giản, trong đó tôi tự động tạo một yêu cầu đăng nhập và gửi tới máy chủ ADFS của tôi. Ngày trở về tôi đang chuyển hướng đến một url ứng dụng khác mà tôi cấu hình trong máy chủ iis của tôi [cùng một url được cấu hình trong máy chủ ADFS cũng]. Nhưng unfaurtunately tôi đang nhận được thông báo lỗi như sauAudienceRestrictionĐiều kiện không hợp lệ vì Khán giả được chỉ định không có trong AudienceUris

<i>` 
issuerLocation = "https://test12.login.mytest.edu/adfs/ls/"; 
       realm = "https://domain/SSO_Test/";   
       this.Request.Url.AbsoluteUri.Remove(this.Request.Url.AbsoluteUri.IndexOf(this.Request.Url.Query, StringComparison.OrdinalIgnoreCase)); 
      var contextId = Guid.NewGuid().ToString(); 
      this.CreateContextCookie(contextId, this.Request.Url.AbsoluteUri); 

      var message = new SignInRequestMessage(new Uri(issuerLocation), realm) 
           { 
            CurrentTime = DateTime.UtcNow.ToString("s", CultureInfo.InvariantCulture) + "Z", 
           }; 

      this.Response.Redirect(message.RequestUrl, false); 


ID1038: The AudienceRestrictionCondition was not valid because the specified Audience is not present in AudienceUris. 
Audience: 

Xin hãy giúp tôi

+0

Tôi rất mới với adfs. Tôi đã thiết lập máy chủ adfs của riêng mình, tôi đã định cấu hình dựa vào sự tin cậy của bên với giao thức saml. Và trong mã mvc asp.net, tôi không biết, làm thế nào để xử lý xác thực dựa trên saml trong phương pháp gọi lại. cho bên dựa trên ws-fedaration dựa tôi có thể phân tích cú pháp thông tin người dùng bằng cách sử dụng đối tượng ClaimsPrincipal.Current nhưng làm thế nào để làm cho giao thức dựa trên saml. Làm ơn giúp tôi. – Mohan

Trả lời

9

Nếu tôi hiểu tình hình của bạn, bạn đã có một bữa tiệc dựa (webapp của bạn) gửi đến nhà cung cấp danh tính (máy chủ ADFS), và một khi bên phụ thuộc (webapp của bạn) đã xác thực bạn đang chuyển hướng người dùng đến một ứng dụng khác.

Lỗi tham chiếu phần cấu hình AudienceUri của nhóm dựa vào. Một giá trị có khả năng bị mất hoặc bị sai chính tả:

<configuration> 
    <system.identityModel> 
    <identityConfiguration> 
     <audienceUris> 
     <add value="http://**YourSiteHere**/" /> 
     </audienceUris> 
    </identityConfiguration> 
    </system.identityModel> 
</configuration> 

HTH

+0

Tôi đã từng nhiều hơn một lần bởi dấu '/' hoặc cần phải ở đó hay không. – psaxton

+0

@caPorter, \t Tôi rất mới với adfs. Tôi đã thiết lập máy chủ adfs của riêng mình, tôi đã định cấu hình dựa vào sự tin cậy của bên với giao thức saml. Và trong mã mvc asp.net, tôi không biết, làm thế nào để xử lý xác thực dựa trên saml trong phương pháp gọi lại. cho bên dựa trên ws-fedaration dựa tôi có thể phân tích cú pháp thông tin người dùng bằng cách sử dụng đối tượng ClaimsPrincipal.Current nhưng làm thế nào để làm cho giao thức dựa trên saml. Làm ơn giúp tôi. – Mohan

+0

Xin chào @Mohan, nếu bạn vẫn có câu hỏi, nếu bạn sẽ gửi câu hỏi của mình trên StackOverflow và cho tôi biết, tôi rất sẵn lòng trợ giúp. – CaPorter

2

Đôi khi nó có thể là do các dấu gạch chéo "/" ... đó là vấn đề trong trường hợp của tôi. Sao chép URL từ thông báo lỗi và thêm nó vào audienceUris, và nó bắt đầu hoạt động tốt.

+0

Tôi muốn tích hợp ứng dụng MVS asp.net của tôi để xác thực adfs với giao thức dựa trên saml. Tôi đã thành công cho máy chủ adfs của riêng mình có giao thức liên kết ws và tuy nhiên tôi có thể đọc chi tiết phản hồi bằng ClaimsPrincipal. Nhưng tôi đã thất bại khi một trong những khách hàng của tôi gửi cho tôi phản hồi dựa trên saml, cách xác thực và lọc các xác nhận quyền sở hữu trong phương thức gọi lại. Làm ơn giúp tôi. – Mohan

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