2008-11-12 8 views
5

trước hết, tôi biết rằng câu hỏi này có thể là đường biên giới trùng lặp to this one, và có, có một chút mỉa mai rằng tôi đang đặt câu hỏi cho một cái gì đó mà tôi thậm chí đã tự trả lời.Hồ sơ ASP.net và tư cách thành viên - Nhà cung cấp tùy chỉnh hoặc hoàn toàn tôi nên tự cuộn?

Bây giờ, tôi đang nói về Hồ sơ ASP.net. Tôi đang xây dựng một ứng dụng bằng cách sử dụng MVC nếu điều đó quan trọng và tôi tin rằng Trình cung cấp hồ sơ tích hợp là vô ích.

Vì vậy, tại thời điểm này, tôi tự hỏi: Tôi có nên làm theo lời khuyên của riêng mình và viết Nhà cung cấp hồ sơ tùy chỉnh hay tôi hoàn toàn cuộn nội dung hồ sơ của riêng mình?

Một số giả thiết:

  • Tôi muốn dữ liệu của tôi trong một cấu trúc cơ sở dữ liệu mà tôi quyết định
  • Đó là một ứng dụng mới thương hiệu, không có cấu trúc cơ sở dữ liệu di sản hoặc userbase mà cần phải được lồng ghép
  • nhỏ để trung -Số lượng người dùng tối đa (tối đa ~ 5000 người dùng)
  • ASP.net MVC, rất có thể là Silverlight 2 và thậm chí một số Windows Azure, nhưng tôi vẫn đang thử nghiệm, nhưng chắc chắn .net 3.5 SP1.
  • Và, có thể là điểm quyết định chính: Không nhất thiết phải sử dụng hình thức Auth, ứng dụng cuối cùng có thể sử dụng Active Directory hoặc OpenID cho xác thực

tôi vẫn cần phải điều tra nếu tôi có thể sử dụng ASP.net Membership với phi các nhà cung cấp xác thực chuẩn (OpenID), vì tôi nghĩ rằng Hồ sơ ASP.net chỉ có ý nghĩa khi tôi sử dụng ASP.net Membership, vì vậy cuối cùng tôi có thể viết cả một Nhà cung cấp thành viên tùy chỉnh cho OpenID (Về cơ bản, nó chỉ phục vụ như một cây cầu) và Nhà cung cấp hồ sơ tùy chỉnh. Vì vậy, yeah, tôi nghĩ rằng đó có thể là một cách tốt vì tôi tiếp tục sử dụng những gì khuôn khổ đã mang lại cho tôi, nhưng tôi không có kinh nghiệm với tư cách thành viên và hồ sơ, vì vậy có thể ai đó ở đây có một số hiểu biết hay không Tôi hoàn toàn nên cuộn Xác thực và/hoặc Tiểu sử của riêng mình hoặc nếu tôi viết tốt hơn bằng cách viết Nhà cung cấp tư cách thành viên và hồ sơ tùy chỉnh, điều này rõ ràng là what SO did?

Trả lời

3

Tôi không có kinh nghiệm viết nhà cung cấp tiểu sử của riêng mình, nhưng tôi đã viết nhà cung cấp tư cách thành viên của riêng mình. Nó tương đối dễ dàng (có rất nhiều phương pháp mà bạn không cần phải triển khai). Trong thực tế, các phương thức duy nhất có vẻ thực sự là các phương thức GetUser() và ValidateUser().

Phần duy nhất có một chút khéo léo (và đáng giá) là có vẻ như GetUser() được gọi khá thường xuyên và bạn nên nghĩ đến việc lưu vào bộ nhớ đệm để không phải lúc nào cũng đánh vào cơ sở dữ liệu.

0

Để có thể trả lời câu hỏi phải làm gì, bạn cần phải ngồi xuống và tìm hiểu chính xác tất cả các tính năng và yêu cầu mà mô hình hồ sơ và xác thực của bạn yêu cầu và sau đó xem nội dung được cung cấp. Chỉ một khi bạn có một danh sách các yêu cầu, bạn sẽ có thể đánh giá chính xác có hay không yuo sẽ là tốt nhất off cán của riêng bạn hoặc sử dụng các nhà cung cấp được xây dựng trong.

Điều gì có thể là một câu hỏi tốt hơn cho bạn là nói "Tôi cần phải làm x, y và z với tư cách thành viên và hồ sơ của tôi, đặt cược tốt nhất của tôi là gì?"