7

Trong một trang web chung asp.net với Membership, Roles và băm mật khẩu được kích hoạt, tôi muốn cung cấp cho các nhà quản lý với impersonation để họ có thể duyệt các trang web như rằng người sử dụng sẽ. Trang web sẽ hoạt động như thể người dùng đó đã đăng nhập và sau đó có thể hoàn nguyên về thông tin đăng nhập của họ.Mạo danh người dùng thành viên trong ASP.NET

Cách tiếp cận tốt nhất để đạt được điều này là gì?

Ví dụ về trường hợp sử dụng: Trang web có hai loại người dùng: 'Người mua' và 'Quản trị'. Trang web cung cấp nút 'Mua' để mua một cái gì đó được người quản trị cung cấp cụ thể cho người dùng. tức là chỉ người mua đó mới có thể sử dụng nút mua và thực hiện thanh toán. Người dùng gặp sự cố để quản trị viên hỗ trợ có thể 'mạo danh' đăng nhập và mua của người dùng nhân danh họ hoặc 'thấy' sự cố họ đang gặp phải.

Không có mạo danh, cách duy nhất là cho phép điều này trong mã và phủ nhận mục đích 'nhìn thấy vấn đề của người dùng'. Thậm chí nếu tôi không sử dụng mật khẩu băm và đã sử dụng FormsAuthentication.SignOut() và đăng nhập bằng tay với quản trị viên như người dùng.

Tôi hy vọng tôi có ý nghĩa ở trên.

Trả lời

1

Tôi không có mã mà chúng tôi đã sử dụng để thực hiện việc này trước mặt tôi (chuyển nhượng từ vài năm trước), nhưng có một số bit trong API thành viên để ký tên ai đó bằng mã. Tôi sẽ không có quyền truy cập vào mã cho đến cuối tuần này, thật không may, hoặc tôi có thể nhanh chóng chia sẻ các bit và được thực hiện với điều này.

Tôi nhớ rằng trước tiên bạn phải có được người dùng, với tư cách là thành viên, sử dụng lớp Tư cách thành viên. Tôi không chắc chắn, từ thời điểm này, cho dù bạn đã phải xác nhận đối với nhà cung cấp hoặc what.We đã sử dụng một nhà cung cấp tùy chỉnh, nhưng tôi quên cho dù đó là liên quan đến giải pháp này.

Bất kể, kiểm tra các bit bảo mật, tập trung vào tư cách thành viên và người dùng thành viên.

6

Hãy xem this sample trên codeproject.com. Tôi nghĩ rằng nó làm những gì bạn đang tìm kiếm.

+0

cảm ơn, trông giống như một điểm khởi đầu tốt –

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