2008-11-28 33 views
5

Tôi muốn thực hiện xác thực vai trò đơn giản trong .NET - nhưng bị mất trong sự phong phú của apis ...Xác thực vai trò đơn giản trong asp.net

Tôi muốn có một web.config cho mỗi thư mục có vai trò truy cập như:

<authorization> 
    <allow roles="admin"/> 
    <deny users="*"/> 
</authorization> 

Và trong trang đăng nhập của tôi, nơi tôi làm FormsAuthentication.RedirectFromLoginPage tôi muốn xác định vai trò của người dùng đăng nhập (admin, người sử dụng, vv ...) tôi không có nhu cầu sử dụng RoleManagementProviders và tính năng overkilled (trong trường hợp của tôi) của RoleManagement.

Tôi cần API nào để người dùng chỉ xác định vai trò của người dùng?

Cảm ơn

Trả lời

7

Đây là liên kết trên triển khai Xác thực biểu mẫu rất đơn giản với vai trò. Tôi tin rằng đây là cơ bản nhất thực hiện hình thức xác thực: http://www.codeproject.com/KB/web-security/formsroleauth.aspx

Dưới đây là một vào nhà cung cấp thành viên: http://www.asp.net/learn/moving-to-asp.net-2.0/module-08.aspx Bạn có thể phải tìm kiếm các hướng dẫn bổ sung để có được một ý tưởng rõ ràng về cách tùy chỉnh nó.

Tôi thích nhà cung cấp thành viên vì nó cho phép bạn ghi đè các giá trị mặc định và cung cấp kho dữ liệu và phương thức của riêng bạn được sử dụng cho các hành động xác thực khác nhau. Tôi thấy nó dễ dàng hơn so với việc thực hiện cơ bản.

+0

Cảm ơn. Đây là thông tin tốt. – LeJeune

-1

Cá nhân nếu bạn đang sử dụng quản lý vai trò và chức năng sử dụng đã trình bày trong ASP.NET tại sao cố gắng để hack cùng một giải pháp mà xuống đường sẽ hạn chế khả năng mở rộng.

Làm việc với chức năng mặc định để gán vai trò thật dễ dàng và bạn không phải lo lắng về việc tạo thông tin nhận dạng phù hợp cho người dùng.

+0

Tôi không thể sử dụng chức năng mặc định, vì tôi không có SQL nơi tôi có thể tạo tất cả các bảng cần thiết b y vai trò thành viên. Tôi cần phải tìm một cách khác. – LeJeune

0

Lưu ý rằng để sử dụng mô hình nhà cung cấp vai trò, bạn không phải sử dụng cơ sở dữ liệu và lược đồ, có các tùy chọn đơn giản hơn. Bạn có thể quan tâm đến việc sử dụng Trình quản lý ủy quyền (bản tải xuống miễn phí từ Microsoft) cho phép bạn thêm nhà cung cấp vai trò vào ứng dụng ASP.NET và định cấu hình vai trò và quyền sử dụng công cụ của họ (một snap-in MMC được truy cập thông qua Administrative Tools).

How To: Use Authorization Manager with ASP.NET 2.0

Cấu hình tiếp xúc bằng công cụ này được lưu trữ vào một tập tin xml được tham chiếu trong các ứng dụng web.config:

<connectionStrings> 
    <add name="LocalPolicyStore" connectionString="msxml://C:/AzManStore.xml"/> 
</connectionStrings> 

nào sau đó có thể được tham chiếu khi bạn cấu hình các ứng dụng để sử dụng nhà cung cấp vai trò của Người quản lý ủy quyền:

<roleManager enabled="true" defaultProvider="RoleManagerAzManProvider"> 
    <providers> 
    <add name="RoleManagerAzManProvider" 
     type="System.Web.Security.AuthorizationStoreRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, publicKeyToken=b03f5f7f11d50a3a" 
     applicationName="MyApp" 
     connectionStringName="LocalPolicyStore"/> 
    </providers> 
</roleManager> 
Các vấn đề liên quan