Выдача себя за пользователя членства в ASP.NET

На общем asp.net веб-сайте с Membership, Roles и включенными хешированными паролями я хотел бы предоставить администраторам impersonation, чтобы они могли просматривать веб-сайт так же, как этот пользователь. Веб-сайт должен функционировать так, как если бы этот пользователь вошел в систему, а затем мог вернуться к своему собственному имени входа.

Как лучше всего этого добиться?

Пример использования: веб-сайт с двумя типами пользователей: «Покупатель» и «Администратор». На веб-сайте есть кнопка «Купить», с помощью которой можно купить что-то, специально предоставленное пользователю администраторами. то есть только этот покупатель может использовать кнопку покупки и произвести оплату. У пользователя возникли проблемы, поэтому администратор службы поддержки может «выдать себя за» логин пользователя и совершить покупку от его имени или «увидеть» проблему, с которой он сталкивается.

Без олицетворения единственный способ - разрешить это в коде, а это сводит на нет цель «увидеть проблему пользователя». Даже если я не использовал хешированные пароли, использовал FormsAuthentication.SignOut() и вручную вошел в систему администратора как пользователь.

Надеюсь, я понимаю вышесказанное.


person Vaibhav Garg    schedule 20.10.2011    source источник


Ответы (2)


Взгляните на этот образец на codeproject.com. Я думаю, он делает то, что вы ищете.

person Greg Enslow    schedule 20.10.2011

У меня нет кода, который мы использовали для этого, передо мной (назначение несколько лет назад), но в API членства есть биты, позволяющие подписать кого-то с помощью кода. К сожалению, у меня не будет доступа к коду до этих выходных, иначе я мог бы быстро поделиться фрагментами и покончить с этим.

Я действительно помню, что вам нужно было сначала получить пользователя как MembershipUser, используя класс членства. С этого момента я не уверен, нужно ли вам проверять поставщика или что-то еще. Мы использовали настраиваемого поставщика, но я забыл, было ли это связано с этим решением.

Тем не менее, изучите биты безопасности, сосредоточив внимание на членстве и членстве пользователя.

person Gregory A Beamer    schedule 20.10.2011