2009-10-09 38 views
5

thể trùng lặp:
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?ASP.Net MVC Tuỳ chỉnh xác thực

tôi đang tìm cách để tạo ra một mô hình xác thực tùy chỉnh cho ứng dụng MVC của tôi, nhưng tôi không chắc chắn nơi để thực hiện các lớp IPrincipal và IIdentity tùy chỉnh của tôi. Tôi không muốn làm điều này trong Global.asax theo mọi yêu cầu vì không phải tất cả các trang trong trang web đều cần xác thực. Vì vậy, câu hỏi của tôi là ở đâu? Tôi có nên làm điều này trong bộ lọc hành động tùy chỉnh của mình cho các hành động yêu cầu người dùng đăng nhập không?

Tôi không muốn sử dụng Nhà cung cấp thành viên hoặc Xác thực biểu mẫu, điều này cần phải được tùy chỉnh và phân tách hoàn toàn.

+0

Điều này phải được giữ mở. Liên kết trùng lặp được liệt kê bao gồm ủy quyền, nhưng không được xác thực. –

Trả lời

0

Bạn đã cân nhắc tạo một lớp cơ sở riêng biệt cho bộ điều khiển của mình chưa?

Bạn có thể ghi đè lên các sự kiện OnActionExecuting để kiểm tra xem nếu người dùng được xác thực ... một cái gì đó như:

Public Class AuthenticatedPageController 
    Inherits Controller 

    Protected Overrides Sub OnActionExecuting(ByVal filterContext As ActionExecutingContext) 
    // Code to check user is authenticated - if not chuck them to the log in page... 

    End Sub 


End Class 

Sau đó, bất kỳ điều khiển cho các trang mà người sử dụng cần phải được xác thực, kế thừa từ lớp này thay vì lớp điều khiển chuẩn.

+0

Đây là loại mà tôi muốn nhưng khi tôi kiểm tra đối tượng người dùng ngữ cảnh hiện tại, tôi muốn nó được thực hiện của tôi đối tượng IPrincipal và không phải là đối tượng được tạo theo mặc định. – Gazeth

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