Tôi giả định đối tượng MembershipUser và đối tượng thực hiện giao diện IPrincipal được kết nối theo nghĩa khi một số thông tin nhất định trong một đối tượng thay đổi, đối tượng kia cũng thay đổi một cách thích hợp?Mối quan hệ giữa đối tượng thành viên và đối tượng IPrincipal
Trả lời
Không chắc liệu tôi có hiểu câu hỏi của bạn ở đây hay không nhưng tôi tin rằng giả định của bạn không chính xác.
MembershipUser được System.Web.Security sử dụng để xác thực người dùng thông qua MembershipProvider mà bạn đã đặt trong cấu hình web của bạn. Khi bạn gọi ...
MembershipUser user = Membership.GetUser(username);
nhà cung cấp thành viên của bạn sẽ truy vấn các kho dữ liệu, nơi bạn giữ cho thông tin của bạn sử dụng (A Cơ sở dữ liệu SQL, Active Directory, vv ..) và trở về dữ liệu Memberhsip sotred cho tên người dùng đó.
Nếu bạn đã xác định một lớp khác trong ứng dụng thực hiện giao diện IPrincipal và bạn đã khởi tạo đối tượng thuộc loại đó, điều đó không nhất thiết có nghĩa là đối tượng MembershipUser và dữ liệu chia sẻ đối tượng tùy chỉnh của bạn (trừ khóa học bạn đã gán) tài liệu tham khảo programatically)
có lẽ nếu bạn cung cấp một ví dụ mã nó sẽ giúp làm rõ
- 1. Grails: nhiều mối quan hệ giữa hai đối tượng miền
- 2. Nhiều đối tượng để quan hệ đối tượng trong C#
- 3. Quan hệ giữa Mongo DB giữa các đối tượng
- 4. Mối quan hệ giữa các đối tượng Rails cookie, header HTTP Cookie, và document.cookie
- 5. Đường ray: Nhận mối quan hệ trên mảng đối tượng
- 6. Xóa đối tượng trong mối quan hệ NSSet
- 7. Đối tượng lập bản đồ khuôn khổ mối liên hệ giữa quan điểm và bảng
- 8. Đối tượng tìm nạp dữ liệu lõi có mối quan hệ với đối tượng khác
- 9. Tạo mối liên hệ giữa hai đối tượng instancied
- 10. Thư viện Javascript cho các đối tượng dựa trên nút và các mối quan hệ đối tượng?
- 11. lọc đối tượng trẻ em trong một has_many: thông qua mối quan hệ trong Rails 3
- 12. mối quan hệ giữa GC, Finalize() và Dispose là gì?
- 13. Mối quan hệ giữa GEF và GMF?
- 14. Trong lập trình hướng đối tượng mà đối tượng nên duy trì mối quan hệ nhiều đến nhiều? (Nếu có)
- 15. Mối quan hệ giữa "đóng" đối với Chuẩn bị và Kết nối?
- 16. Có mối quan hệ nào giữa kích thước đối tượng và hiệu suất khóa trong Java không?
- 17. Mã khung đối tượng mối quan hệ lớp học đầu tiên
- 18. CoreData kiểm tra nếu to-many-mối quan hệ chứa đối tượng
- 19. cập nhật các đối tượng bị ngắt kết nối với nhiều-nhiều mối quan hệ
- 20. Duy trì các mối quan hệ đối tượng với việc tuần tự hóa PHP
- 21. Mối quan hệ giữa HttpContext.Request.Cookies và HttpContext.Response.Cookies
- 22. Mối quan hệ giữa UIView và CALayer
- 23. Mối quan hệ giữa appdelegate và main.m
- 24. mối quan hệ giữa log4j và apache.commons.logging
- 25. Nối tiếp các đối tượng Khung thực thể có mối quan hệ một đến nhiều
- 26. Không thể xác định mối quan hệ giữa hai đối tượng vì chúng được gắn với các đối tượng ObjectContext khác nhau
- 27. Mối quan hệ giữa hai đối tượng không thể được định nghĩa bởi vì chúng được gắn vào ObjectContext khác nhau đối tượng MVC 2
- 28. Symfony ManyToOne mối quan hệ getter lợi nhuận trống đối tượng
- 29. Lập mô hình đối tượng có nhiều mối quan hệ bảng trong Zend Framework
- 30. Cơ sở dữ liệu hướng đối tượng Vs đối tượng Cơ sở dữ liệu quan hệ
tôi hiểu rằng nếu bạn tự tạo đối tượng chính (đối tượng mà thực hiện giao diện IPrincipal) mà bạn cũng phải programmaticaly tạo ra một tài liệu tham khảo giữa hai các đối tượng. Nhưng trong câu hỏi ban đầu của tôi tôi đã đề cập (xin lỗi vì không cụ thể hơn) đối tượng chính đại diện cho bối cảnh bảo mật của người dùng hiện tại và được tạo ra tự động bởi Asp.Net khi sử dụng xác thực biểu mẫu. Tôi nghĩ rằng trong trường hợp đó Asp.Net cũng chăm sóc "đồng bộ hóa" hai đối tượng? – SourceC
Tôi vẫn không hiểu những gì bạn muốn được "đồng bộ" giữa hai đối tượng? Họ không thực sự chia sẻ bất cứ điều gì - việc thực hiện IPrincipal chứa một IIdentity - nhưng đó là về nó .... –
IPrincipal trong ngữ cảnh của Asp.net (HttpContext.User) là người dùng đang chạy tiến trình hiện tại trên máy. MembershipUser là một người dùng ứng dụng mà bạn lưu trữ ở đâu đó trong kho dữ liệu. Trong quá trình ủy quyền, bạn có thể đặt HttpContext.User bằng cách gán các giá trị từ bạn MembershipUser vào vé FormsAuthentication, nhưng hai đối tượng mà bạn đang đề cập sẽ không bao giờ được đồng bộ tự động. –