БД Учетная запись пользователя Сброс пароля с oracle apex - PullRequest
0 голосов
/ 08 ноября 2019

Я создаю приложение для изменения пароля выбранной учетной записи пользователя БД. Когда пользователь выбирает определенное имя БД и пользователя БД, затем нажимает кнопку «Отправить», я должен вызывать процедуры, которые изменяют пароль пользователя БД. как подключиться к выбранной БД из Oracle Apex и сделать это.

1 Ответ

1 голос
/ 08 ноября 2019

Насколько я могу судить, есть два способа изменить чей-то пароль:

  • подключиться как этот пользователь
  • подключиться как привилегированный пользователь (такой как SYS)

и выполните такую ​​команду:

alter user scott identified by tiger;

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

Один из вариантов:

  • создавать одну и ту же хранимую процедуру (которая будет изменять чей-то пароль) в каждомбаза данных
    • примет имя пользователя и новый пароль
    • , поскольку alter table - это DDL, вам придется использовать динамический SQL (execute immediate)
  • создайте ссылки на базы данных на эти базы данных в схеме, которую вы используете для подключения к приложению Apex
  • , в зависимости от выбранной вами базы данных, вызовите соответствующую процедуру через ссылку на базу данных и передайте выбранное имя пользователя и его новый пароль. Это может также потребовать некоторого динамического SQL, если вы хотите использовать другое имя ссылки на БД

Я не знаю, какую версию базы данных вы используете, но - посмотрите на 11g Доступи Изменение информации в нескольких базах данных , особенно глава «Запуск хранимой процедуры в удаленной базе данных Oracle» для получения дополнительной информации.

...