Могу ли я переопределить asp: CreateUserWizard, чтобы по существу не требовать пароль? - PullRequest
0 голосов
/ 12 марта 2010

Получил этот сайт с UN / PW, установленным через элемент управления Createuserwizard.

Клиент считает PW слишком большим барьером для входа и хочет избавиться от требования пароля, но при этом у него есть учетные записи, поэтому пользователи просто входят в систему только с адресом электронной почты.

Мне нужно самое быстрое из возможных исправлений, когда я использую один и тот же провайдер и элемент управления, но просто использую один и тот же статический PW для всех пользователей при регистрации, а затем введите его для них, когда они "войдут", если они вернутся. Работает как cookie в принципе, но имеет реальный логин.

Проблема в том, что свойство Createuserwizard.Password доступно только для чтения. Могу ли я сделать AutoGeneratePassword = true и заставить его каждый раз генерировать один и тот же пароль?

Что бы это ни стоило, это простые, не защищенные данные, в основном, мало хранимые виды сайтов. Давайте не будем вдаваться в то, имеет ли смысл требование, и последствия этого - я, вероятно, согласен с вами :)

1 Ответ

3 голосов
/ 12 марта 2010

Бла, бла, бла, много вещей, с которыми вы, вероятно, согласны ... и теперь по существу:

Просто откажитесь от CreateUserWizard и вызовите MembershipProvider.CreateUser напрямую. Вы должны будете добавить несколько текстовых полей для электронной почты и прочее вместо мастера создания пользователей, но это должна быть прогулка в парке. Для входа в систему просто сбросьте элемент управления и добавьте текстовое поле для электронной почты и кнопку «Войти». Затем в кодовом вызове позвоните MembershipProvider.ValidateUser с адресом электронной почты и жестко заданным паролем, и если он вернет истину (что означает, что пользователь существует), просто позвоните FormsAuthentication.SetAuthCookie, а затем FormsAuthentication.RedirectFromLoginPage, и пользователь войдет .

...