2008-11-05 37 views
5

Tôi đang phát triển Ứng dụng mạng nội bộ trong ASP.NET sử dụng Xác thực Windows. Tôi đã tạo ra một lớp AD nhận thông tin từ Active Directory Domain Controller. Đây là những gì tôi sử dụng để có được những thứ như User Groups mà người dùng hiện đang đăng nhập. Vấn đề nằm trong ASP.NET Roles mà người dùng đang ở. Có vẻ buồn cười, nhưng danh sách các nhóm AD mà người dùng đang ở là hoàn toàn khác với danh sách Vai trò mà người dùng có.AspNetWindowsTokenRoleProvider không hoạt động chính xác cho Xác thực Windows trong ASP.NET

Dưới đây là những gì tôi nhận được:

Danh sách AD Groups cho một người sử dụng certian

  1. Developers
  2. Account Operator
  3. Domain Admins
  4. IS_IUSRS
  5. Quản trị
.210

Danh sách Vai trò của người dùng cùng

  1. PUDDOM \ Domain Users
  2. Mọi người
  3. BUILTIN \ Users
  4. BUILTIN \ Administrators
  5. NT AUTHORITY \ TƯƠNG TÁC
  6. NT AUTHORITY \ Users Authenticated
  7. NT AUTHORITY \ Tổ chức này
  8. ĐỊA PHƯƠNG
  9. PUDDOM \ Domain Admins
  10. PUDDOM \ Denied RODC Password Replication Nhóm
  11. PUDDOM \ DnsAdmins

THÔNG TIN KHÁC:

  1. Tôi có trang web của tôi sử dụng Integrated Windows Authentication từ IIS7 .
  2. Một phần của web.config của tôi trông giống như

này:

<authentication mode="Windows" /> 
<authorization> 
    <deny users="?" /> 

</authorization> 

<roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true"> 
     <providers> 
      <remove name="AspNetSqlRoleProvider" /> 
     </providers> 
</roleManager> 

Làm thế nào để dung hòa trong danh sách?

Tôi cần đặt danh sách Vai trò của tôi phản ánh cùng một dữ liệu như danh sách Nhóm quảng cáo của tôi vì tôi sẽ sử dụng Cắt tỉa vai trò trong bản đồ trang web của tôi và các nội dung khác.

Trả lời

0

Bạn có thể cần phải chỉ định quyền của trang web cụ thể cho các nhóm bạn muốn liệt kê.

+0

Vui lòng chỉ định cách thực hiện việc này. Tôi nghĩ rằng đây là vấn đề của tôi và tôi muốn bỏ phiếu cho bạn nếu điều này giải quyết nó. – Jan

4

Một phần kết quả của bạn là do một số nhóm người dùng thuộc về là thành viên của các nhóm khác. Danh sách đầy đủ các nhóm của người dùng sẽ bao gồm tất cả các nhóm người dùng thuộc về, cả trực tiếp và thông qua tư cách thành viên trong các nhóm khác cũng là thành viên.

Danh sách cũng sẽ bao gồm các nhóm được tích hợp thường bị ẩn khỏi công cụ quản trị gốc theo mặc định. Đặt cược tốt nhất của bạn là để ứng dụng lưu trữ danh sách tổng thể của các nhóm bạn muốn ứng dụng của bạn xem hoặc danh sách các nhóm bạn muốn ứng dụng của bạn bỏ qua (danh sách bao gồm hoặc danh sách loại trừ). Sau đó, khi bạn kéo lại vai trò của người dùng cụ thể, chỉ cần so sánh nó với danh sách loại trừ hoặc bao gồm được cấu hình và lọc ra các kết quả không mong muốn.

Nếu bạn muốn một cách dễ dàng hơn, có một mã nguồn mở AD role provider over at codeproject đã có hỗ trợ cho cả loại trừ và bao gồm danh sách. Nó cũng có các tính năng đẹp khác như bộ nhớ đệm tùy chọn mà REALLY sẽ tăng tốc độ ứng dụng của bạn. Nhà cung cấp vai trò AD tích hợp hoạt động rất kém.

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