2013-02-08 32 views
5

Tôi đã tạo báo cáo sử dụng danh sách SharePoint làm nguồn dữ liệu của nó. Nguồn dữ liệu được đặt để sử dụng Xác thực Windows (bảo mật tích hợp) trong SSRS. Nó chạy tốt trong SSRS/BIDS, nhưng khi được triển khai vào môi trường Trình quản lý báo cáo, tôi nhận được một lỗi:Nguồn dữ liệu Danh sách SharePoint cấp lỗi HTTP 401 "Không được phép"

An error has occurred during report processing. (rsProcessingAborted)

Query execution failed for dataset 'ListData'. (rsErrorExecutingCommand)

An error occurred when accessing the specified SharePoint list. The connection string might not be valid. Verify that the connection string is correct. (rsSPDataProviderError)

The request failed with HTTP status 401: Unauthorized.

Tôi đã triển khai cả đối tượng báo cáo và nguồn dữ liệu vào môi trường từ BIDS. Tôi đã kiểm tra các thuộc tính để xác nhận rằng bảo mật tích hợp đã được thiết lập trên đầu cuối Trình quản lý báo cáo, vì vậy tôi không chắc chắn lý do tại sao nó không truyền thông tin xác thực đúng cho nguồn.

Bất kỳ ý tưởng/đề xuất nào?

+3

Dường như vấn đề tăng gấp đôi hop (http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx) – user1578107

+0

có vẻ như đó là nó là gì. Nguồn SharePoint chấp nhận các thông tin đăng nhập từ BIDS, nhưng không chấp nhận các thông tin xác thực Windows được chuyển đến nó lần thứ hai từ Máy chủ báo cáo. Làm thế nào sẽ đi về giải quyết này? Tôi có nên tạo một tài khoản dịch vụ trong SSRS để được chấp nhận bởi SharePoint không? – dp3

+0

sử dụng thông tin đăng nhập được lưu trữ hoặc Kerberos – user1578107

Trả lời

8

Tài khoản dịch vụ cho SSRS sẽ không giúp bạn. Nó là tốt để có một tài khoản dịch vụ cụ thể để chạy dịch vụ SSRS, nhưng đó không phải là những gì được sử dụng để xác thực. Nó cũng tốt để thiết lập một tài khoản thực hiện trên máy chủ bằng cách sử dụng công cụ cấu hình dịch vụ báo cáo giúp chạy các báo cáo không giám sát, nhưng một lần nữa đó không phải là vấn đề của bạn.

Kerberos là một lựa chọn, vâng, nhưng nếu bạn không sử dụng nó thì đó là một nỗ lực lớn cho một vấn đề nhỏ.

Nguồn dữ liệu danh sách Sharepoint sẽ chỉ chấp nhận kết nối bảo mật tích hợp, vì vậy những gì bạn cần làm trong nguồn dữ liệu là lưu trữ người dùng cửa sổ làm thông tin đăng nhập trong máy chủ báo cáo.

Tôi thường tạo người dùng có tên là Reportuser (ví dụ: reportuser @ [domain] .com). Tạo người dùng này trên miền của bạn, đảm bảo rằng người dùng có quyền truy cập vào SharePoint.

Trong BIDS/visual studio trong thuộc tính cho nguồn dữ liệu cho báo cáo của bạn, trong tab thông tin xác thực, hãy nhấp vào nút radio bên cạnh "Sử dụng xác thực Windows (bảo mật tích hợp)". Tải nguồn dữ liệu lên trang web của trình quản lý báo cáo. (Bạn đã thực hiện phần này).

Điều hướng đến trang web Trình quản lý báo cáo và các thuộc tính của nguồn dữ liệu được tải lên.

Dưới phần bắt đầu bằng "Kết nối sử dụng":

Kiểm tra "Thông tin đăng nhập được lưu trữ một cách an toàn trong máy chủ báo cáo" tùy chọn

Nhập tên người dùng và mật khẩu như thế này (trong đó miền được thay thế bằng các lĩnh vực mạng của bạn): [email protected] mật khẩu

phần Chú ý: Đánh dấu vào "Sử dụng như thông tin của Windows khi kết nối với nguồn dữ liệu"

Kiểm tra kết nối và sẽ hoạt động - Tôi vừa thử nghiệm nó.

+0

Cảm ơn bạn đã giải thích ngữ cảnh tuyệt vời. Có bất kỳ lợi ích nào khi sử dụng Kerberos, ngoài việc tránh việc tạo các tài khoản thực thi này không? Ngược lại, các tài khoản thực hiện có gây ra bất kỳ rủi ro bảo mật thực nào đáng để giảm thiểu thông qua việc thực hiện Kerberos không? – dp3

+0

Tôi chưa bao giờ làm việc trong một cửa hàng nơi quản trị viên mạng đủ chơi để thiết lập Kerberos. Có vẻ là một điều đáng ghét vì một lý do nào đó. Tôi không thấy bất kỳ rủi ro bảo mật nào miễn là bạn tuân theo thực hành tiêu chuẩn tốt. Vâng, không có những thứ như an ninh hoàn hảo, cho đến khi nó có thể được. – Davos

2

Kiểm tra những trường hợp này:

  1. sử dụng tùy chọn thứ hai trong Connect Sử dụng phần cho nguồn dữ liệu. Kiểm tra hình ảnh đính kèm. Image

  2. Kiểm tra xem bạn đã định cấu hình đúng tất cả các mục nhập web.config chưa. Bạn có thể theo dõi loại lỗi này bằng cách đính kèm quy trình w3wp.

+0

Cảm ơn bạn. Có lẽ bạn có thể giải thích cho tôi sự khác biệt giữa 'Sử dụng như thông tin đăng nhập Windows khi kết nối với nguồn dữ liệu' và 'Mạo danh người dùng được xác thực sau khi kết nối đã được thực hiện với nguồn dữ liệu' hoặc bỏ chọn cả hai tùy chọn đó trong khi vẫn lưu trữ bằng chứng xác thực ? – dp3

0

Tôi đã gặp vấn đề này rất giống nhau và phát hiện ra rằng tài khoản mà tôi đang sử dụng không chính xác do SharePoint Designer và Visual Studio sử dụng cùng thông tin xác thực. Khi tôi cố gắng triển khai các báo cáo của mình, tôi nhận thấy rằng nó không thành công vì nó đang sử dụng một người dùng không có quyền. Người dùng không phải là người dùng hiện đã đăng nhập của tôi. Thay vào đó nó là cái mà tôi đã sử dụng lần cuối để đăng nhập vào SharePoint Designer. Một khi tôi đăng nhập vào SharePoint Designer bằng cách sử dụng một người dùng cũng đã có quyền báo cáo tôi muốn nó sau đó đã có thể đăng nhập vào SSRS một cách chính xác bằng cách sử dụng Visual Studio. Các thông tin đăng nhập cửa sổ giữa hai chương trình được gắn với nhau.

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