5

Tôi sử dụng ASP.NET MVC 3 cho một ứng dụng sử dụng nhiều hoặc Người dùng và Vai trò.NHibernate và ASP.NET Membership

Để tạo người dùng và chỉ định (các) vai trò tôi sử dụng quy trình chuẩn thông qua Thành viên ASP.NET.

Trong suốt toàn bộ ứng dụng, tôi sử dụng NHibernate để truy cập dữ liệu cơ bản ngoại trừ các vị trí là cài đặt MembershipProvider và RoleProvider mặc định được sử dụng (bên trong AccountController ủy nhiệm các cuộc gọi đến những triển khai đó).

Tôi muốn sử dụng NHibernate để có thể đọc/chỉnh sửa/sửa đổi các giá trị trên các bảng được quản lý bởi ASP.NET Membership.

tôi thấy hai giải pháp:

  1. Viết một tùy chỉnh thực hiện NHibernate cho MembershipProvider và RoleProvider (hoặc thậm chí sử dụng this one). Đó là con đường khó nhất.

  2. Chỉ lập bản đồ các bảng (như được mô tả here) và sau đó sử dụng NHibernate trực tiếp (mặc dù mọi hành động mặc định từ AccountController vẫn sẽ được xử lý bởi nhà cung cấp mặc định).

Bất kỳ đề xuất/đề xuất nào?

Trả lời

3

Tôi đã sử dụng nhà cung cấp tùy chỉnh mà bạn liên kết với thành công khá tốt. Tôi đã thực hiện một vài thay đổi với nó, để nó sẽ sử dụng một phiên duy nhất cho cuộc đời của nó.

Nếu bạn muốn sử dụng thành viên ASP.net Tôi nghĩ rằng cách tiếp cận là đặt cược tốt nhất của bạn, chủ yếu cho tính di động (nó không dựa vào bất kỳ SP nào có mặt trong cơ sở dữ liệu của bạn). Tôi hiện đang sử dụng nhà cung cấp sửa đổi từ liên kết đó chống lại MSSQL và Postgres mà không có vấn đề gì, và tôi cũng đã sử dụng nó chống lại MySQL.

+0

Tôi hiểu. Nhưng không có thử nghiệm đơn vị nào cho việc triển khai này. –

+0

Tôi đang viết đơn vị kiểm tra cho việc thực hiện này, và có nó hoạt động tuyệt vời ra khỏi hộp :-) (cho đến nay). –

+0

Tuyệt vời, vui mừng khi làm việc. Tôi không bao giờ có xung quanh để viết các bài kiểm tra xung quanh nó, cảm thấy tự do để gửi của bạn: D – AlexCuse

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