web2py: грубая форма для редактирования пользователей сбрасывает пароль - PullRequest
1 голос
/ 16 февраля 2012

У меня грубая форма, поэтому администратор может редактировать пользователей. Администратор должен иметь возможность изменить пароль в случае необходимости. Я использую:

crud.update(db.auth_user, user_id, deletable=False)

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

1 Ответ

0 голосов
/ 06 августа 2012

вы можете удалить переменную из form.vars, если она пуста или недействительна? Так как web2py имеет так много встроенных средств аутентификации, я никогда не сталкивался с вещами полей паролей, но это может сработать.

Вы можете использовать crud.update(..., onvalidation=somefunction) и проверить некоторые функции на наличие действительного значения в поле пароля, если оно не найдено, del form.vars.password? или установите для form.vars.password значение None, возможно?

подтверждение будет происходить ПОСЛЕ того, как форма принята (проверена), но ДО ввода значений / обновления в базе данных.

...