7
Membership Membership, Roles 및 해시 된 암호를 사용하는 일반 asp.net 웹 사이트에서 관리자에게 impersonation를 제공하여 사용자가 사용하는 로 웹 사이트를 탐색 할 수있게하려고합니다. 웹 사이트는 해당 사용자가 로그온 한 것처럼 작동해야하며 자신의 로그인으로 되돌릴 수 있어야합니다.

ASP.NET에서 멤버 자격 사용자로 가장하십시오.

이것을 달성하는 가장 좋은 방법은 무엇입니까?

예제 유스 케이스 : '구매자'와 '관리자'의 두 가지 유형의 사용자가있는 웹 사이트. 웹 사이트는 관리자가 특별히 제공 한 것을 구매하기위한 '구매'버튼을 제공합니다. 구매자는 구매 버튼을 사용하여 결제 할 수 있습니다. 사용자가 문제가있어 지원 관리자가 사용자의 로그인 및 구매를 '가장하여'자신을 대신하여 '사칭'하거나 그들이 직면 한 문제를 '볼'수 있습니다.

가장이 없으면 유일한 방법은 코드에서이를 허용하는 것이며 '사용자의 이슈보기'의 목적을 무효화하는 것입니다. 해시 된 암호를 사용하지 않고 FormsAuthentication.SignOut()을 사용하고 수동으로 관리자로 로그인 한 경우에도 마찬가지입니다.

나는 위의 의미를 만들기를 바랍니다.

답변

1

필자는 앞에서 (몇 년 전에 할당 한) 코드를 사용하지 않았지만 코드를 사용하여 누군가를 서명하는 멤버쉽 API 비트가 있습니다. 이번 주말까지는 코드에 액세스 할 수 없으며, 불행히도이 비트를 빠르게 공유하고이를 수행 할 수 있습니다.

회원 자격 클래스를 사용하여 MembershipUser로 먼저 사용자를 확보해야한다는 것을 기억합니다. 나는이 시점에서 당신이 공급자에 대해 검증해야하는지 여부에 대해서는 확신하지 못합니다. 우리는 맞춤형 공급자를 사용했지만,이 솔루션과 관련이 있는지를 잊었습니다.

회원 자격과 회원 자격에 초점을 맞추어 보안 비트를 조사하십시오.

6

codeproject.com에서 this sample을보세요. 나는 그것이 당신이 찾고있는 것을한다고 생각합니다.

+0

감사합니다. 좋은 출발점처럼 보입니다. –