2009-04-27 22 views

Trả lời

12

Bảng thành viên chứa thông tin liên quan đến giao diện API MembershipProvider API. Bảng người dùng lưu trữ tên người dùng và id người dùng, được tham chiếu từ nhiều nhà cung cấp.

  • Người dùng
    • Membership (MembershipProvider)
    • hồ sơ (ProfileProvider)
    • Vai trò (RoleManager)
    • vv

Hệ thống aspnetdb là rất mô-đun và mỗi mảnh có thể là cu stomized thông qua các nhà cung cấp khác nhau. Các bảng cần được tách ra để mỗi giao diện có thể được viết lại, chuyển hướng, v.v.

+1

Tôi đã hy vọng một ai đó có đầu mối sẽ kêu vang; o) – wcm

+0

Cảm ơn :) Mô đun thực sự thực sự tốt đẹp, tôi có một dự án triển khai một MembershipProvider tùy chỉnh và một RoleManager tùy chỉnh và nó khá dễ dàng. –

+0

Ahem. Bảng aspnet_Users được tái sử dụng trong một số nhà cung cấp. Bảng aspnet_Membership thực sự chỉ để sử dụng với các nhà cung cấp thành viên như tôi đã đề cập. –

0

Một số nhà cung cấp khác trong ASP.NET (ngoài nhà cung cấp tư cách thành viên) cũng lưu trữ thông tin người dùng cụ thể. ví dụ. Hồ sơ.

Thông tin thêm về điều này:

Một số nhà cung cấp ASP.NET lưu trữ/sử dụng thông tin trong ngữ cảnh tên người dùng. Một trong số này là MembershipProvider, cung cấp cửa hàng xác thực và tập hợp dịch vụ.

Khác là ProfileProvider, cho phép dữ liệu người dùng cụ thể được tổ chức với từng người dùng.

Bạn vẫn có thể sử dụng ProfileProvider bất kể bạn có chọn sử dụng MembershipProvider hay không. Vì ProfileProvider phải lưu trữ dữ liệu dựa trên tên người dùng (ví dụ như được hiển thị bởi thuộc tính Context.User.Identity.Name), nó sẽ tiếp tục và thêm bản ghi người dùng vào aspnet_Users.

Hy vọng điều này sẽ làm rõ lý do tách biệt.

0

Thành thật mà nói, điều đó cũng không hợp lý với tôi. Có vẻ như bảng aspnet_Membership được thiết lập cho người dùng/thông tin cấp ứng dụng nhà nhưng UserID là một PK. Rất lạ. Có lẽ đã tự thiết lập cho một tình huống mà bạn có nhiều ứng dụng cho mỗi người dùng trong một số bản phát hành sau này.

Dave đề cập rằng có các bảng khác như aspnet_Profile chứa thông tin người dùng cụ thể. Có thể là những người dùng ASP.NET 2.0 chỉ đang cố tách riêng các nhóm khác nhau thành các phần dễ tiêu hóa hơn.

Tôi biết đó chỉ là một loạt phỏng đoán. Hy vọng rằng ai đó có một số kiến ​​thức thực tế sẽ kêu vang.

0

tôi thấy explination này từ page này:

Các cửa hàng SqlMembershipProvider thông tin tài khoản người dùng trong hai bảng liên quan:

  • aspnet_Users - có một bản ghi cho mỗi tài khoản người dùng, lưu trữ các yếu tố cần thiết để trần. Cột UserId xác định duy nhất mỗi người dùng trong hệ thống và được lưu trữ dưới dạng một bộ định danh duy nhất (GUID).

  • aspnet_Membership - có cột UserId ràng buộc mỗi bản ghi trở lại một bản ghi cụ thể trong aspnet_Users. Bảng aspnet_Membership lưu trữ dữ liệu cốt lõi được liên kết với mọi tài khoản người dùng: Email, Mật khẩu, câu hỏi bảo mật và câu trả lời, v.v.

0

aspnet_users chứa người dùng bạn tạo (FORMS xác thực) ... LƯU Ý Khi xác thực của bạn được đặt thành WINDOWS, người dùng là người dùng WINDOWS, ví dụ: domain \ firstname.lastname

Các aspnet_membership chứa thông tin sở thích thành viên sử dụng trong những thứ như WebPart s và thiết lập người dùng

0

bảng aspnet_Users chứa thông tin cho tất cả người dùng: vô danh và không nặc danh. Bảng aspnet_membership chứa thông tin về người dùng đăng ký (không có ẩn danh).

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