2012-03-23 61 views
7

Tôi mới trong ASP.NET MVC. Tôi đã chuyển sang nó từ PHP.Cách tốt nhất để quản lý người dùng trong ASP.NET MVC

Trong PHP, khi tôi đang tạo trang quản lý người dùng, tôi thường tạo bảng Người dùng và Tiểu sử và lưu trữ dữ liệu trong đó. Trong ASP.NET, có các nhà cung cấp tư cách thành viên và hồ sơ.

Vì vậy, câu hỏi của tôi là, cách tốt nhất để quản lý người dùng trong ASP.NET MVC là gì? Tôi có nên tạo các bảng và logic tùy chỉnh như trong PHP hay tôi nên tạo Nhà cung cấp tùy chỉnh?

Tôi biết, có nhiều chủ đề tương tự về vấn đề này. Tuy nhiên, không ai trong số họ là chính xác những gì tôi cần.

Cảm ơn trước, Mike.

+2

Không cần phải tái tạo lại bánh xe; sử dụng nhà cung cấp thành viên được tích hợp sẵn. Bất cứ điều gì bạn sẽ làm sẽ dễ bị lỗi và kém an toàn hơn; đặc biệt là nếu bạn không quen với khung .net. Nó sẽ là một lúc trước khi bạn sẽ phát triển những gì kỹ sư của Microsoft đã xây dựng. – frenchie

+2

@frenchie Tôi cầu xin không đồng ý. Các nhà cung cấp thành viên, giống như nhiều thứ nhanh chóng và bẩn khác là tốt cho những thứ nhanh chóng và bẩn thỉu (hoặc trình diễn) và không khó để tìm ra một thành viên tốt hơn (cho nhu cầu của bạn!). Tôi xây dựng nhà cung cấp tư cách thành viên của mình theo nhu cầu ứng dụng của tôi và việc xây dựng thành viên đó không đáp ứng được nhu cầu của tôi một cách chính xác. Tôi đã đi đến kết luận này một vài năm trước và tôi không nhớ từng chi tiết nhưng tôi nhớ rằng tôi ghét sử dụng guids như id người dùng. – MikeSW

Trả lời

3

sử dụng ASP.Net Memebership không tái tạo lại bánh xe,

http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7

+0

Các bạn, cảm ơn tất cả, tôi đã quyết định làm quen với Nhà cung cấp tư cách thành viên và cũng sử dụng sức mạnh của hồ sơ, để thêm một số thông tin bổ sung, liên quan đến người dùng. – michy04

2

Có lẽ nên nói không có cách nào tốt nhất. Tốt nhất là mơ hồ.

Tôi muốn nói có ba loại cách chung để làm người dùng và vai trò với máy chủ SQL (tôi đề cập đến điều này vì bạn đã đề cập đến bảng).

Đầu tiên: Sử dụng ASP.NET tích hợp (biểu mẫu web/mvc thuyết bất khả tri) SqlMembership Provider. Nó chứa hầu hết các tính năng mà mọi người cần để quản lý người dùng. Đây có thể là cách nhanh nhất để triển khai, nhưng ít nhất có thể mở rộng. Điều này sẽ rất khuyến khích.

Thứ hai: Tạo [Nhà cung cấp tư cách thành viên] của riêng bạn, để theo dõi nhà cung cấp thành viên mẫu nhưng giới thiệu logic của riêng bạn từ SQL đến Ứng dụng. Xây dựng cung cấp của riêng bạn có thể là một quá trình dài, nhưng bạn vẫn nhận được tất cả các tính năng đẹp, và có thể được sử dụng trong các dự án khác bởi vì nó là nhà cung cấp riêng và không gắn với ứng dụng.

Thứ ba: Tạo logic của riêng bạn từ đầu hoàn chỉnh. Tôi sẽ không đề nghị điều này trừ khi bạn dự định xây dựng nó như một ứng dụng độc lập.

+0

Cảm ơn bạn, đây cũng là ý kiến ​​hay giúp tôi quyết định. – michy04

2

Tôi đồng ý với Oscar và frenchie - đừng sáng tạo lại bánh xe. Các nhà cung cấp thành viên ASP.NET nên cung cấp cho bạn một khởi đầu tốt. Tuy nhiên, nếu bạn là một fan hâm mộ của TDD, bạn có thể tìm thấy bạn sẽ cần gói gọn việc triển khai nhà cung cấp thành viên bên trong một lớp mà bạn có thể kiểm soát để bạn có thể đối phó với chế nhạo. Hợp đồng nhà cung cấp thành viên là khá lớn và kết hợp chặt chẽ, và tôi đã phát hiện ra thông qua kinh nghiệm mà bạn kết thúc chỉ sử dụng 30-40% của con thú đó. Tạo hợp đồng của riêng bạn và sử dụng nó để tương tác với nhà cung cấp thành viên. Bạn sẽ cảm ơn bản thân sau.

Chúc may mắn!

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