2012-12-02 32 views
12

tôi tạo ra rất nhiều "bằng chứng của khái niệm" nhanh chóng ứng dụng MVC và tôi thực sự tìm thấy nhà cung cấp SimpleMembership rằng vận chuyển với các mẫu MVC4 là rất tiện dụng vì nó được tôi và chạy với đăng ký người dùng & OAuth chỉ trong vài phút.hệ thống thành viên cho MVC4 hỗ trợ RavenDB

Nhưng ... Tôi đã bắt đầu sử dụng RavenDb (trên RavenHQ cho rất nhiều cho các dự án của tôi). Vì vậy, tôi bắt đầu cố gắng thực hiện "nhà cung cấp tư cách thành viên tùy chỉnh" của riêng mình dựa trên ExtendedMembershipProvider và trong khi làm điều đó, tôi nhận ra rằng không có ý nghĩa nhiều. sau tôi stumbled khi 2 dự án thú vị mà cố gắng giải quyết vấn đề này chính xác:

Cả hai đều là những nỗ lực khá thú vị gần đây và đã tự hỏi nếu đây là những người duy nhất được xây dựng ngay bây giờ. Tôi về cơ bản tìm kiếm nuget pkg mà tôi có thể thả vào một ứng dụng MVC4, kết nối với RavenDb của tôi và được thực hiện. Tôi sẵn sàng xây dựng điều này nhưng không muốn sao chép bất kỳ nỗ lực nào đã được chuyển động. Thx!

+0

Tôi chỉ chạy vào bài viết này bởi Scott Allen, ông đi mặc dù cả EF và RavenDB thành viên. http://odetocode.com/blogs/scott/archive/2012/10/01/build-your-own-membership-system-for-asp-net-mvc-part-again.aspx –

+0

Bạn đã đi đến đâu với câu hỏi của bạn? bạn đã sử dụng cái gì? – trailmax

+0

Tôi chia nhỏ https://github.com/OdeToCode/Memflex để phù hợp với nhu cầu của tôi. Hoạt động khá có vẻ. Nhưng tôi đã nghe nói có một dự án khác (TBA) sẽ giải quyết vấn đề tương tự. –

Trả lời

4

Có một số nhà cung cấp thành viên ASP.Net cho RavenDB. Không ai trong số họ là chính thức, và tất cả đều có triển khai hơi khác nhau. Google cho "nhà cung cấp thành viên ravendb" và bạn sẽ tìm thấy nhiều.

Có một bài viết tốt here so sánh một vài trong số họ với sự cho phép và xác thực riêng bó Raven.

Tôi đồng ý với bạn rằng nó nên được dễ dàng hơn để trao đổi trên SQL cho Raven trên mẫu MVC4 khác nhau. Tuy nhiên, ngoài việc dựa vào các nhà cung cấp thành viên, họ có xu hướng có các mô hình được thiết kế để làm việc với Entity Framework. Nếu bạn đã viết mẫu mẫu từ đầu với RavenDB trong tâm trí, bạn có thể có một sản phẩm cuối cùng rất khác nhau.

Cập nhật

Tôi đã không nhận ra bạn đang nói về mới SimpleMembershipProvider. Tôi không biết điều này đã tồn tại. Tôi đã tìm thấy Jon Galloway's article mô tả chi tiết - một bài đọc tuyệt vời. Ông chỉ ra hai điểm chính có liên quan ở đây. Tôi xin trích dẫn:

Lưu ý rằng SimpleMembership vẫn đòi hỏi một số hương vị của SQL Server - nó sẽ không làm việc với cơ sở dữ liệu MySQL, NoSQL, vv Bạn có thể có một cái nhìn tại các mã trong WebMatrix.WebData.dll sử dụng một công cụ như ILSpy nếu bạn muốn xem tại sao - có những nơi mà các câu lệnh SQL cụ thể của SQL Server đang được thực hiện, đặc biệt khi tạo và khởi tạo các bảng. Có vẻ như bạn có thể làm việc với một cơ sở dữ liệu khác nếu bạn đã tạo các bảng riêng biệt, nhưng tôi chưa thử nó và nó không được hỗ trợ tại thời điểm này.

...

Điều quan trọng để lấy đi ở đây là một SimpleMembershipProvider là một MembershipProvider, nhưng một MembershipProvider không phải là một SimpleMembershipProvider. Sự khác biệt này rất quan trọng trong thực tế: bạn không thể sử dụng một MembershipProvider hiện có (bao gồm các Nhà cung cấp Universal được tìm thấy trong System.Web.Providers) với một API yêu cầu SimpleMembershipProvider, bao gồm bất kỳ cuộc gọi nào trong WebMatrix.WebData.WebSecurity hoặc Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.

Tôi sẽ thu thập sau đó viết SimpleMembershipProvider cho RavenDB sẽ không thể thực hiện được.

+0

có, tôi đã googled "ravendb thành viên nhà cung cấp" và tôi tìm thấy 1 hoặc 2 dự án khác dựa trên MVC3 và không hỗ trợ OAuth, đó là 50% của những gì tôi đang tìm kiếm. Tôi cũng biết về gói auth RavenDb, nhưng điều đó xử lý "người dùng hệ thống", không phải những gì tôi đang tìm kiếm (người dùng ứng dụng). Cảm ơn. –

+0

Dường như hầu hết mọi người trả lời những câu hỏi này về tư cách thành viên mà không có kiến ​​thức về nhà cung cấp SimpleMembership mới. – CodeMonkeyKing

+1

@CodeMonkeyKing - Đã bị tính phí. :) Đã cập nhật câu trả lời. –

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