Как изменить зарегистрированного пользователя на другого? - PullRequest
1 голос
/ 02 апреля 2010

Я бы хотел временно изменить зарегистрированного пользователя на другого, чтобы выполнить какой-либо процесс.

Например, скажите, что я вошел как "Джо". В моем методе я хочу сделать вошедшего в систему пользователя из «Joe» в «SuperUser», выполнить некоторый процесс, а затем изменить вошедшего в систему пользователя обратно в «Joe». Может ли кто-нибудь помочь с этим?

Ответы [ 3 ]

1 голос
/ 02 апреля 2010

Я думаю, что вы хотите олицетворение ASP.NET для этого. Проверьте что это такое и как его использовать . Как то так (из второй ссылки):

System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();

//Insert your code that runs under the security context of the authenticating user here.

impersonationContext.Undo();

РЕДАКТИРОВАТЬ: Для членства ASP.NET см. этот вопрос SO и этот ответ .

0 голосов
/ 02 апреля 2010

Из ответа на этот вопрос: Повышение привилегий процесса программно?

Вы можете указать, что новый процесс должен быть запущен с повышенными разрешениями, установив для свойства Verb объекта startInfo значение runas, как показано ниже:

startInfo.Verb = "runas";

Это меняет вашего пользователя Windows. Если вы хотите изменить пользователя ASP.NET, который вошел на вашу страницу, это не то, что вы ищете.

0 голосов
/ 02 апреля 2010

Хотя я не понимаю, почему пользователь становится суперпользователем в реальном приложении, я думаю, вы могли бы взглянуть на технику олицетворения asp.net ...

НТН.

...