2008-10-16 29 views
14

Tôi đang cố gắng thực hiện điều gì đó đơn giản (tôi nghĩ) - bảo mật ứng dụng của tôi bằng cách sử dụng bảo mật dựa trên vai trò bằng cách sử dụng các nhóm Active Directory trong Miền của chúng tôi.Xác thực dựa trên vai trò Asp.Net bằng cách sử dụng nhóm Bảo mật trong Active Directory

Cụ thể, tôi cần hiển thị/ẩn các mục trên một trang tùy thuộc vào việc người dùng hiện đang đăng nhập có nằm trong số domain\groupA trong Active Directory hay không. Đối với một số lý do, rất khó tìm thông tin về việc sử dụng Active Directory cho việc này. Tất cả mọi thứ tôi dường như tìm thấy đi vào chi tiết của việc sử dụng các hình thức dựa trên xác thực bằng cách sử dụng vai trò, hoặc nó sử dụng một DB để lưu trữ thông tin.

Tất cả những gì tôi muốn làm là sử dụng cấu trúc bảo mật đã được phác thảo trong Thư mục hoạt động của chúng tôi. Ai đó có thể giải thích những gì tôi cần không?

Tôi có cần:

  1. <roleManager enabled="true"/> trong web.config
  2. <allow roles ="domain\groupA"/> trong web.config
  3. IIS thiết lập để cửa sổ xác thực
  4. if (User.IsInRole(@"domain\groupA")){ //do stuff } trong trang của tôi?

Còn gì khác nữa? Có gì không? vì nó không hoạt động. heh.

Cảm ơn tất cả vì sự giúp đỡ của bạn.

Trả lời

22

Bạn có thể chỉ cần thêm RoleProvider vào web.config để cho ứng dụng biết cách thực hiện tìm kiếm chống lại AD.

Mã mẫu từ here.

<roleManager defaultProvider="WindowsProvider" 
    enabled="true" 
    cacheRolesInCookie="false"> 
    <providers> 
    <add 
     name="WindowsProvider" 
     type="System.Web.Security.WindowsTokenRoleProvider" /> 
    </providers> 
</roleManager> 
Các vấn đề liên quan