2012-12-19 44 views
10

Cố gắng liệt kê các thư mục và tệp trong một thư mục cụ thể. Thư mục này sẽ phụ thuộc vào người dùng hiện tại (Page.User) đăng nhập bằng Xác thực Windows (NTLM) và được truy xuất từ ​​Active Directory (thuộc tính homedirectory).Truy cập bị từ chối mạo danh thư mục mạng truy cập người dùng hiện tại

Tôi đang sử dụng người dùng miền để truy cập vào AD và truy xuất vị trí thư mục, điều này hoạt động tốt.

Lỗi không thể truy xuất thư mục con bằng cách sử dụng System.IO.DirectoryInfo.GetDirectories() ngay cả khi mạo danh.

Dưới đây là đoạn code tôi đang sử dụng để mạo danh:

System.Security.Principal.WindowsImpersonationContext impersonationContext; 
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate(); 

Tôi đã kiểm tra mà người dùng được mạo nhận có quyền truy cập vào thư mục.

Từ những gì tôi đã tìm thấy cho đến nay có vẻ như tôi cần phải thiết lập ủy quyền hoặc xác thực Kerberos, điều này có đúng không? Đây có phải là những cách duy nhất để đạt được điều này? Không nên mạo danh là đủ?

+1

Bạn đã kiểm tra bài đăng trước đó Stackoverflow ..? http://stackoverflow.com/questions/2563724/accessing-password-protected-network-drives-in-windows-in-c/2563809#2563809 – MethodMan

Trả lời

2

Mạo danh cho phép tài khoản dịch vụ trang web mạo danh (giả vờ là) một người dùng khác trên máy đó. Vì vậy, truy vấn AD để xem bạn có quyền nào (hoặc người dùng mạo danh).

Yêu cầu quyền truy cập vào chia sẻ UNC trên máy khác đang yêu cầu máy khác chấp nhận rằng tài khoản dịch vụ trang web đang hành động thay mặt cho người dùng bị mạo danh. Đây là ủy quyền. Máy khác không tự kiểm tra thông tin đăng nhập của người dùng nhưng ủy quyền kiểm tra tới máy chủ web.

Nếu khách hàng đang kết nối trang web từ một máy khác (thường là trường hợp cho máy chủ web), thì bạn có một "hop kép" từ máy khách đến máy chủ web đến máy chủ tệp UNC.

Tôi khuyên bạn nên định cấu hình Kerberos (thông qua tiện ích SetSPN) và tìm các quyền ủy quyền cho tài khoản dịch vụ trang web (người dùng AD và Máy tính). nếu bạn có vấn đề thiết lập này lên, tôi chân thành khuyên bạn nên một công cụ gọi là DeleConfig.

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