2008-10-02 18 views
6

Có vẻ như có nhiều cách để làm cho con mèo này đặc biệt - nhưng đó là cách tốt nhất và dễ thực hiện nhất. Có vẻ như Nhà cung cấp thành viên ASP.net là nhà cung cấp sẽ tiết kiệm được nhiều thời gian hơn, vì vậy câu hỏi của tôi là:Tạo trang web mới và bảo mật/xác thực, - tôi có nên sử dụng Nhà cung cấp thành viên ASP.net không?

  1. Ưu/khuyết điểm của tư cách thành viên là gì?
  2. Làm cách nào để bạn tích hợp db người dùng được tạo tự động với db được tạo tùy chỉnh của riêng bạn? ví dụ: khách hàng/đơn đặt hàng/sản phẩm db. (Chúng tôi đang nói MS Sql ở đây BTW)
  3. Tôi có thể tìm thấy một hướng dẫn tốt mà làm ngày nào?

Rất cám ơn.

Trả lời

5

Tư cách thành viên nhẹ và dễ thiết lập. Bạn cũng có thể sử dụng các nhà cung cấp khác nhau để sử dụng Active Directory hoặc một số vị trí thành viên khác.

Bạn không cần phải tích hợp cơ sở dữ liệu, bạn có thể sử dụng một để xác thực người dùng và sau đó miễn là chúng hợp lệ, hãy truy vấn cơ sở dữ liệu khác cho dữ liệu. Đây là cách tốt để giữ thông tin riêng biệt vì lý do bảo mật.

Để xem hướng dẫn tốt, tôi muốn đề nghị: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx

Và nếu bạn muốn tạo cung cấp thành viên của riêng bạn: http://www.asp.net/learn/videos/video-189.aspx

1

Hướng dẫn - có một loạt các hướng dẫn tốt trên trang web ASP.Net. Chúng tôi đã sử dụng các cơ sở cung cấp tư cách thành viên và tích hợp với cơ sở dữ liệu của mình - chúng tôi sử dụng giá trị "tên người dùng" làm khóa ngoài cho các bảng của chúng tôi với thông tin "doanh nghiệp" bổ sung.

Hệ thống hoạt động tốt với mã hóa tối thiểu.

3

Nói chung tôi cung cấp cho nó một ngón tay cái lên, nhưng có một số nhược điểm nhỏ tôi có thể nghĩ:

  • Vai trò chỉ là chuỗi, không có cách nào để đính kèm thêm thông tin cho chúng mà không cần lăn mã của riêng bạn.
  • Một số điều khiển đăng nhập không đặt nút mặc định của họ một cách chính xác, do đó, nhấn phím "enter" trong khi trong trường nhập sẽ không làm gì cả. Bạn có thể sửa lỗi này bằng cách tự thiết lập.
  • Không có cách mặc định để yêu cầu số trong mật khẩu, chỉ là biểu tượng.
  • Điều khiển đăng nhập w/SqlMembershipProvider không hiển thị thông báo "người dùng bị khóa" cụ thể.

Hoặc là một con hoặc một chuyên gia, phụ thuộc vào quan điểm của bạn:

  • tên người dùng là case-insensitive trong SqlMembershipProvider
+0

Bạn có thể thêm một biểu thức chính quy để yêu cầu số bằng cách thiết lập thuộc tính passwordStrengthRegularExpression. –

+0

Tên người dùng không phân biệt chữ hoa chữ thường trong SqlMembershipProvider. –

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