Tôi có 2 ứng dụng ASP.NET MVC 3. Tôi đang sử dụng mạo danh thông qua web.config để cho phép tôi truy vấn Active Directory để nhận thông tin chi tiết về người dùng. Ứng dụng sử dụng xác thực Windows và không cho phép người dùng ẩn danh. Một ứng dụng là ứng dụng chính mà người dùng thực hiện các nhiệm vụ của họ. Người kia cho phép người dùng thiết lập người dùng khác giống như trong ứng dụng một.Sự mạo danh, Thư mục hoạt động và "người dùng không có quyền đối với xxxx" vấn đề
Người dùng kiểm tra của đang nhận được lỗi sau:
SQL1092N "<DOMAIN ID>" does not have the authority to perform the requested command.
Điều này xảy ra sau khi tôi gửi một yêu cầu web từ ứng dụng chính của tôi vào một thứ. Để làm được điều đó, tôi phải đưa ra yêu cầu mạo danh người dùng thực tế và không phải là danh tính mà ứng dụng sử dụng cho mạo danh. Đây thực sự là một câu hỏi SO tôi đã đăng và đã trả lời. Đó là ở đây: How do I call an MVC Action via a WebRequest and validate the request through Active Directory?
Vào cuối của mã đó, tôi gọi:
impersonationContext.Undo();
Đó là sau khi yêu cầu web này diễn ra, rằng việc áp dụng chính cố gắng truy cập vào cơ sở dữ liệu và bây giờ có vẻ như các cuộc gọi trên đã hoàn tác việc mạo danh ứng dụng, do đó, nỗ lực của người dùng để làm bất cứ điều gì mở kết nối cơ sở dữ liệu không thành công. Ít nhất, đó là lý thuyết làm việc của tôi sau một ngày bashing đầu.
Câu hỏi của tôi là, làm cách nào để tôi có thể mạo danh ứng dụng để hoàn nguyên về người dùng trong web.config? Hoặc, khi đưa ra yêu cầu web của tôi, có cách nào để đảm bảo bối cảnh mạo danh chỉ áp dụng cho yêu cầu đó không?
Toàn bộ điểm của tất cả điều này là ứng dụng thứ hai có cơ sở dữ liệu máy chủ sql riêng của mình. Ứng dụng chính sử dụng DB2. Tôi muốn viết mã truy cập cơ sở dữ liệu một lần, nhưng sử dụng nó trong cả hai ứng dụng. Hiện tại, đó là những gì tôi đã làm, nhưng phương pháp dựa vào yêu cầu web để lấy dữ liệu có thể không phải là cách tiếp cận tốt nhất.
Tôi cởi mở với bất kỳ suy nghĩ, nhận xét, đề xuất và/hoặc phê bình nào. Làm thế nào tôi nên đi về xử lý này?
Có điều gì tôi cần làm rõ không? Có phải cách câu hỏi được diễn đạt theo cách không? Phản hồi được hoan nghênh. Tôi không nhớ rephrasing hoặc làm rõ nếu có thể. – jason