|
|
|
| В наличии ms Access 2003SP3, база с доступом по имени и паролю с помощью файла рабоей группы.
Програмными средствами реализовал добавление и удаление полюзователей в рабочую группу.
Появилась необходимость реализовать смену пароля конкретного пользователя (этакое администрирование пользователей для руководителя организации).
И вот проблема. Использую код, взятый из справки по программе:
Do While True
oldPassword = InputBox("Старый пароль:")
strPassword = InputBox("Новый пароль:")
Select Case Len(strPassword)
Case 1 To 14
myUser.newPassword oldPassword, strPassword
MsgBox "Пароль сменен!"
Exit Do
Case Is > 14
MsgBox "Пароль длиннее 14 символов!"
Case 0
Exit Do
End Select
Loop
|
И вся проблема в том, что пароль меняется даже при несовпадении старого пароля введенного и имеющегося у пользователя.
Как это исправить? | |
|
| |
|
|
|
| Вероятно в данный момент вы зашли под администратором и имеете право просто изменить пароль у рядовых пользователей. Текущий юзер может изменить свой пароль, только зная старый. Если хотите проверить, знает ли администратор чужой пароль (зачем? ), попробуйте создать WorkSpace и ловить ошибку. | |
|
| |
|
|
|
| Да. Щас проверил, все именно так и есть.
Зашел пользователем, входящим в группу Admins - могу менять любые пароли не зная старых.
Зашел пользователем, входящим в группу Users (и еще в другие мной созданые) - могу менять только свой пароль и только зная старый.
Вобщем-то система нормальная, вот только напрягает что один Admins может у другого сменить пароль не зная старый. Но с этим уже можно разобраться.
Спасибо за "пинок в правильном направлении". | |
|
| |
|
|
|
| "Admins может у другого сменить пароль не зная старый. " - в Windows та же фигня :-) | |
|
| |