Những nhược điểm của việc sử dụng / ghi một Nhà cung cấp thành viên tùy chỉnh .Net là gì?


12

Gần đây, tôi đã đăng câu hỏi sau đây trên SO: /programming/7197337/USE-asp-net-membership-provider-with-an-ex hiện-user-database

Như bạn có thể nhận thấy, cuối cùng tôi đã trả lời câu hỏi của chính mình nói rằng có vẻ như việc viết / thực hiện một "Nhà cung cấp thành viên tùy chỉnh" là cách để đi.

Theo nghĩa đen, một vài phút sau, tôi tình cờ phát hiện ra câu hỏi này: /programming/7222306/simple-login-atteem-count-USE-mvc-3-and-ajax/7

Tôi cố gắng trả lời và nhận được phản hồi rằng nhà cung cấp Thành viên Net là "khủng khiếp trên nhiều cấp độ". Tôi sẽ thừa nhận, đây là lần đầu tiên tôi sử dụng nhà cung cấp Tư cách thành viên nhưng nó chắc chắn trông rất hấp dẫn đối với tôi.

Tôi chưa thấy bất cứ điều gì ủng hộ yêu cầu "khủng khiếp" vì vậy trước khi tôi thực hiện điều gì đó "khủng khiếp", tôi đã hy vọng nhận được một số phản hồi từ cộng đồng.


Mong chờ câu trả lời, +1 ..
Pankaj Upadhyay

Câu trả lời:


1

Vì vậy, tôi không chắc chắn "khủng khiếp" là từ tốt nhất ở đây. Tuy nhiên, nó có những hạn chế và ngay khi nhu cầu của bạn không phù hợp với cách nhà cung cấp thành viên được thiết kế, bạn sẽ có rất nhiều mã keo. Nếu bạn có thể sử dụng nhà cung cấp thành viên ra khỏi hộp, tôi sẽ nói hãy dùng nó. Ngay khi bạn bắt đầu viết một tùy chỉnh, tôi đặt câu hỏi bằng cách sử dụng công cụ thành viên.

Theo kinh nghiệm của tôi, nhà cung cấp thành viên mua cho bạn ...

  • Đăng ký đã được tích hợp sẵn cho ứng dụng MVC
  • Chỉnh sửa tài khoản
  • Quên mật khẩu dễ dàng kết nối
  • Xác thực phương thức người dùng

Tôi chắc chắn có một cái gì đó khác tôi đang thiếu nhưng tôi nghĩ đó là những cái lớn. Bây giờ khi bạn cần quản lý mật khẩu tùy chỉnh, xác thực hai yếu tố, để làm việc với mô hình dữ liệu hiện có hoặc toàn bộ các thứ khác bạn bắt đầu mất. Mã đã được viết cho bạn với tư cách thành viên sẽ cung cấp theo thứ tự vài ngày để sao chép nếu bạn biết bạn đang làm gì.


1

Nó không làm những gì bạn muốn. Thoạt nhìn bạn có thể thấy nó quan tâm đến tất cả các nhu cầu của bạn và một số, nhưng một yêu cầu mới xuất hiện. Bây giờ bạn 'thực sự' phải tìm hiểu cách thức hoạt động của thứ này. Lợi ích của việc có tất cả các bản dựng sẵn này giảm đi bởi vì bạn đang ở trong cảm giác an toàn sai lầm đó.

@Travis đã đề cập bằng cách sử dụng một mô hình dữ liệu hiện có, nhưng việc lựa chọn cơ sở dữ liệu cũng có thể là một hạn chế: Oracle?

Tôi không biết nếu nó hoạt động với các hệ thống xác minh của bên thứ 3 như Facebook hoặc Google.


1

Chúng không linh hoạt như nhiều người nghĩ về việc đọc nhanh các tài liệu, nhưng chúng có vị trí của chúng.

Nếu bạn không cần kiểm soát mã thông báo người dùng và chỉ cần xây dựng dữ liệu người dùng tùy chỉnh / mở rộng hoặc thành viên hoặc cần lấy dữ liệu đó từ một nguồn hiện có / khác nhau mà họ có vị trí của họ.

Nếu bạn muốn thay đổi nhiều hơn thế, bạn nên thay thế httpmodule chạy một trong các nhà cung cấp xác thực sau đó bạn có toàn quyền kiểm soát. Hầu hết những người tôi gặp phải việc phá vỡ mọi thứ với các nhà cung cấp đã lựa chọn sai cho tình huống của họ ở cấp độ này.

Dù bằng cách nào bạn cũng có được một bối cảnh dân cư thích hợp, cho phép bạn tiếp tục sử dụng hầu hết các chức năng người dùng dựa trên asp.net.


1

Câu hỏi này đã cũ nhưng tôi đang nhận được huy hiệu cho sự phổ biến của nó vì vậy tôi cho rằng nó đáng để cung cấp câu trả lời cập nhật.

Nhà cung cấp thành viên "Đơn giản" của Microsoft cuối cùng đã hiểu đúng theo quan điểm khiêm tốn của tôi. Nếu bạn đang viết một cái gì đó mới hoặc thậm chí đính kèm vào cơ sở dữ liệu cũ với một ứng dụng mới. Sử dụng các nhà cung cấp thành viên đơn giản. CÁCH DỄ DÀNG và SẠCH để thực hiện. Cài đặt một vài bảng và trỏ nhà cung cấp vào danh sách người dùng của bạn và về cơ bản bạn đã hoàn tất.

Liên kết này sẽ giúp bạn bắt đầu hoặc chỉ cần google nó: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/


các nhà cung cấp thành viên đơn giản chỉ có thế .. Đơn giản
hanzolo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.