Проблема проверки подлинности с помощью форм теряет текущего пользователя - PullRequest
0 голосов
/ 30 апреля 2011

Я использую аутентификацию форм с asp.net и c #. Подкаталог «Администратор» доступен только пользователям, которые находятся в роли WenAdmin. Мне удалось создать пользователя с этой ролью. После входа в систему он может выполнять все функции в каталоге администратора. Другие не могут. Это все работает хорошо.

Файл web.config в каталоге Admin содержит строки

<authorization>
            <deny users="?"/>
            <allow roles="WebAdmin"/>
            <deny users="*"/>
        </authorization>

Каждый абзац кода на странице администратора имеет строку

[PrincipalPermission(SecurityAction.Demand, Role = "WebAdmin")]

Логин устанавливает текущего пользователя с кодом

FormsAuthentication.RedirectFromLoginPage(MyLogin.UserName, MyLogin.RememberMeSet);

Единственная проблема, с которой я сталкиваюсь, возникает, когда пользователь Admin создает нового пользователя, который не является пользователем Admin. После этого программа, кажется, забывает, что это пользователь с правами администратора, и он вынужден снова войти в систему. Я не хочу этого делать. Код для создания нового пользователя:

 MembershipUser newUser = Membership.CreateUser(CreateUserWizard1.UserName,CreateUserWizard1.Password);

Пожалуйста, помогите мне, если сможете.

1 Ответ

1 голос
/ 30 апреля 2011

Из вашего кода я вижу, что вы используете мастер создания пользователя. Убедитесь, что asp.net не пытается войти в систему нового пользователя:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard.logincreateduser.aspx

Установите для этого свойства значение false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...