Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / внешняя аутентификация PB+ORACLE / 25 сообщений из 36, страница 1 из 2
25.01.2006, 15:47
    #33502795
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Добрый день

кто нибудь пробывал реализовать внешную аутентификация в приложении написанном на PB использующую БД Oracle

Долго читал форум по Ораклу, и пришле к выводу что все примеры там описанны для SQLPlus или OracleForms
а вот можно ли подключится из PB по внешней аутентификации.

Корни вопроса лежат в следующем: подготовить почву для новых приложений и, с положительным результатом, доработать имеющие приложения, при котором пользователю нет обходимости вводить логин/пароль, при этом программа точно понимает кто с ней работает и т.д..
...
Рейтинг: 0 / 0
25.01.2006, 17:19
    #33503126
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Pashaкто нибудь пробывал реализовать внешную аутентификация в приложении написанном на PB использующую БД Oracle
пишется функция в оракле которая дает гранты,
изначально юзер имеет доступ только к коннекту, данной функции и пару вюшек.
(если надо могу расписать детальнее)

Pashaпри котором пользователю нет обходимости вводить логин/пароль, при этом программа точно понимает кто с ней работает и т.д.. юзеры идентифицируются по: IP, Windows UserName
правдо мне больше нравится когда юзер вводит имя и пароль, и система заставляет менять пароль каждый месяц.
...
Рейтинг: 0 / 0
25.01.2006, 17:38
    #33503186
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
zuzu пишется функция в оракле которая дает гранты,
изначально юзер имеет доступ только к коннекту, данной функции и пару вюшек.
Правильно ли я понимаю, что в итоге в БД у меня окажется столькоже пользователей, сколько и в Activedirectory

zuzuюзеры идентифицируются по: IP, Windows UserName

Мне кажется недостаточно. Я думаю еще и про домен.

zuzuправдо мне больше нравится когда юзер вводит имя и пароль, и система заставляет менять пароль каждый месяц.
А зачем??? В виндосе меняют и все равно толку, пароль 99% лежит в верхнем ящике стола на листочке
...
Рейтинг: 0 / 0
25.01.2006, 17:51
    #33503219
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Pasha zuzu пишется функция в оракле которая дает гранты,
изначально юзер имеет доступ только к коннекту, данной функции и пару вюшек.
Правильно ли я понимаю, что в итоге в БД у меня окажется столькоже пользователей, сколько и в Activedirectoryда, у нас много пользователей ,
можешь спросить в форуме по оракле: может быть гранты можно давать определенному конекту,
тогда можно будет держать одного юзера в БД.
...
Рейтинг: 0 / 0
25.01.2006, 17:56
    #33503232
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Еще вопросик
zuzuюзеры идентифицируются по: IP, Windows UserName
каким спсособом берете данную информацию, с помощью Оракла или спомощью PB и API
...
Рейтинг: 0 / 0
25.01.2006, 18:13
    #33503273
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
PashaЕще вопросик
zuzuюзеры идентифицируются по: IP, Windows UserName
каким спсособом берете данную информацию, с помощью Оракла или спомощью PB и API
через Win Api, тоесть посредством ПБ отсылается в оракле.
...
Рейтинг: 0 / 0
25.01.2006, 18:41
    #33503334
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
У меня иногда трудно с русской номенклатурой, поэтому буду рассматривать термин "внешняя аутентификация PB+ORACLE" двояко и по английски :-)
1) You can setup Oracle to use OS authentication and then simply leave sqlca.userid and password empty.

2) Ежели речь ДЕЙСТВИТЕЛЬНО об Activedirectory, то Oracle has a security authentication module that will talk directly to AD/LDAP.

Или твоя РВ аппл. должна "разговаривать" с AD/LDAP - query against an LDAP or Active Directory server for the user's database credentials and them "pass" them as a login, но помоему это будет нарушением безопасности :-)
...
Рейтинг: 0 / 0
26.01.2006, 09:15
    #33503995
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Филипп2) Ежели речь ДЕЙСТВИТЕЛЬНО об Activedirectory, то Oracle has a security authentication module that will talk directly to AD/LDAP.

Или твоя РВ аппл. должна "разговаривать" с AD/LDAP - query against an LDAP or Active Directory server for the user's database credentials and them "pass" them as a login, но помоему это будет нарушением безопасности :-)

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

Задача стоит в следующем, отказаться от ведения 2-х, 3-х и т.д. паролей у пользователя.
Апликации должны автоматически распознавать свой /чужой.

Вот я и размышляю над данным вопросом.
...
Рейтинг: 0 / 0
26.01.2006, 09:59
    #33504079
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Филипп...1) You can setup Oracle to use OS authentication and then simply leave sqlca.userid and password empty...
Это возможно только на сервере, где БД.

2Pasha
1.Делаете один пароль в БД на всех юзеров
2. через API берёте текущего пользователя ОС и всавляете в sqlca.userid
...
Рейтинг: 0 / 0
26.01.2006, 10:27
    #33504181
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Геннадиччерез API берёте текущего пользователя ОС и всавляете в sqlca.userid

Пользователя взял, спомощью n_cst_platformwin32 и of_GetUserID()
Далее присвоил SQLCA.USER_ID

Я так понимаю, самому Ораклу на этот USER_ID совершенно побоку, т.к. Oracle работает с SQLCA.LogId и в зависимости от параметра подсоединяется.

А SQLCA.USER_ID можно использовать только в самом PB.
Прав я?
Я бы хотел еще на уровне БД распределять пользователей на разные логины.
...
Рейтинг: 0 / 0
26.01.2006, 10:47
    #33504246
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Для ораклы:
Код: plaintext
1.
2.
SQLCA.LogPass ="******"
SQLCA.ServerName = "******"
SQLCA.LogId = "*******"
PashaЯ бы хотел еще на уровне БД распределять пользователей на разные логины.
У вас путаница с ASE
Для ораклы надо привилегии раздать на роли, и разным пользователям с одним и тем же паролем выдать разные роли
...
Рейтинг: 0 / 0
26.01.2006, 10:49
    #33504252
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
ЗЫ:
для ораклы пользователь = логин
...
Рейтинг: 0 / 0
26.01.2006, 10:56
    #33504283
Pasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Получается чтобы не плодить пользователей в БД, один из вариантов. иметь таблицы, где описан пользователь, домен, группа Windows и сопоставляется пользователю + пароль Oracle (это в одной схеме БД, куда подсоединяется с одним логином и паролем) и уже после сопоставления, происходит подключение к рабочей БД с сооотвествующем паролем и логином.

Тогда можно будет производить настройку на уровне БД и на уровне приложения, и при этом получается меньшее количество пользователей на уровне БД, добавление/изменение уровня доступа пользователя Windows происходит без перекомпиляции приложения.
Если же появляется новая группа или уникальный пользователь, при котором необходима своя настройка интерфейса программы, то тогда уже доработка процедуры постлогина в PB и перекомпиляция.
...
Рейтинг: 0 / 0
26.01.2006, 11:00
    #33504298
SergeyGor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
zuzu
пишется функция в оракле которая дает гранты,
изначально юзер имеет доступ только к коннекту, данной функции и пару вюшек.
(если надо могу расписать детальнее)

А роли кто нибудь пробовал подключать
в функциях,процедурах или пакетах?

Может есть у кого нибудь опыт.

А так в серьезных системах, наверно не только вход
но и ответственные команды должны
подтверждаться паролем, ключом или глазом. Как в фильмах.
...
Рейтинг: 0 / 0
26.01.2006, 11:05
    #33504313
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
PashaПолучается чтобы не плодить пользователей в БД, один из вариантов. иметь таблицы, где описан пользователь, домен, группа Windows и сопоставляется пользователю + пароль Oracle (это в одной схеме БД, куда подсоединяется с одним логином и паролем) и уже после сопоставления, происходит подключение к рабочей БД с сооотвествующем паролем и логином.

Тогда можно будет производить настройку на уровне БД и на уровне приложения, и при этом получается меньшее количество пользователей на уровне БД, добавление/изменение уровня доступа пользователя Windows происходит без перекомпиляции приложения.
Если же появляется новая группа или уникальный пользователь, при котором необходима своя настройка интерфейса программы, то тогда уже доработка процедуры постлогина в PB и перекомпиляция.Всё это изобретение велосипеда.
Лучше плодите пользователей(пусть пользователь будет даже иметь вид: 'пользователь'+'домен'+'группа Windows' ) - ничего не прийдётся перекомпиливать - всё решается простым администрированием БД.
...
Рейтинг: 0 / 0
26.01.2006, 11:06
    #33504321
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
SergeyGorА роли кто нибудь пробовал подключать
в функциях,процедурах или пакетах?...
Что имеется в виду?
...
Рейтинг: 0 / 0
26.01.2006, 11:11
    #33504340
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Знаю, что раздавать роли можно в системном триггере logon, на чем строятся многие системы безопасности. Много читал об этом в форуме ORACLE.
...
Рейтинг: 0 / 0
26.01.2006, 11:30
    #33504414
SergeyGor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
ГеннадичВсё это изобретение велосипеда.
Лучше плодите пользователей(пусть пользователь будет даже иметь вид: 'пользователь'+'домен'+'группа Windows' ) - ничего не прийдётся перекомпиливать - всё решается простым администрированием БД.

Когда за несколько сотен пользователей и 3 сотни таблиц и вьюшек,
то администратор конечно же ничего не решит.
И вобще то за информацию отвечает не администратор БД,
а за ответственное лицо подразделения.

На второй вопрос.

команда
set role .....
лучше в пакете но можно в процедуре или функции.

И кому то надо как прочитать IP адрес в программе.

create or replace view sys.userhosts as
select sessionid,
substr(comment$text,instr(comment$text,'=',1,3)+1,
instr(comment$text,')',1,2)-instr(comment$text,'=',1,3)-1) host
from sys.aud$
where timestamp#>sysdate-.125 and substr(comment$text,instr(comment$text,'=',1,3)+1,
instr(comment$text,')',1,2)-instr(comment$text,'=',1,3)-1) is not null

Создаете такую вьюшку под SYS.
Если sessionid прочитать можете то прочитаети и IP адрес текущей сессии.

Это все для Oracle 9.
...
Рейтинг: 0 / 0
26.01.2006, 12:39
    #33504709
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
ip можно и проще:
Код: plaintext
1.
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS')
FROM DUAL;
...
Рейтинг: 0 / 0
26.01.2006, 12:48
    #33504749
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
SergeyGor...
create or replace view sys.userhosts as
select sessionid,
substr(comment$text,instr(comment$text,\'=\',1,3)+1,
instr(comment$text,\')\',1,2)-instr(comment$text,\'=\',1,3)-1) host
from sys.aud$
where timestamp#>sysdate-.125 and substr(comment$text,instr(comment$text,\'=\',1,3)+1,
instr(comment$text,\')\',1,2)-instr(comment$text,\'=\',1,3)-1) is not null

Создаете такую вьюшку под SYS.
Если sessionid прочитать можете то прочитаети и IP адрес текущей сессии.
...
Это что, интересно, за юзеры, которые запросто в схеме сиса вьюшки создают, читают что им не положено итд?
За подобное в соседнем форуме "Scott Tiger" делал хирургическую операцию тупым ножом на ливер.
...
Рейтинг: 0 / 0
26.01.2006, 14:07
    #33505080
SergeyGor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
ГеннадичЭто что, интересно, за юзеры, которые запросто в схеме сиса вьюшки создают, читают что им не положено итд?
За подобное в соседнем форуме Scott Tiger делал хирургическую операцию тупым ножом на ливер.

Вобще то есть еще команда grant select ...... для юзеров.

И вьюшка конечно же написана не на конкретную сессию,
а для программы мониторинга за IP адресами.
Само собой мониторинг делается не под юзером SYS.

И в общем не рекомендуется давать пользователям
прямые входы в базу, иначе
поопытней мальчик + простейшая программа и структура БД
на экране.
...
Рейтинг: 0 / 0
26.01.2006, 14:35
    #33505167
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
SergeyGorВобще то есть еще команда grant select ...... для юзеров Это как раз для администратора
...
Рейтинг: 0 / 0
26.01.2006, 14:45
    #33505199
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Геннадич SergeyGorВобще то есть еще команда grant select ...... для юзеров Это как раз для администратора
Динамический SQL в ХП, с правами администратора. И очень вдумчивое разрешения исполнения этой процедуры для пользователей.
...
Рейтинг: 0 / 0
26.01.2006, 15:10
    #33505289
SergeyGor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Круто мужики, бьем.

Вобще то имелось в виду, юзер SYS пишет grant select ....
для чтения некоторыми юзерами, а не наоборот.

И для примера

Присоединен к:
Oracle7 Server Release 7.3.3.0.0 - Production Release
With the distributed, replication and parallel query options
PL/SQL Release 2.3.3.0.0 - Production

SQL> SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL;
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS')
*
ошибка в строке 1:
ORA-00904: invalid column name

А то не все работают под 9-м Ораклом.

Последний выстрел за Вами.
...
Рейтинг: 0 / 0
26.01.2006, 17:54
    #33505799
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
внешняя аутентификация PB+ORACLE
Геннадич Филипп...1) You can setup Oracle to use OS authentication and then simply leave sqlca.userid and password empty...
Это возможно только на сервере, где БД.

2Pasha
1.Делаете один пароль в БД на всех юзеров
2. через API берёте текущего пользователя ОС и всавляете в sqlca.userid

Для не умеющих читать повторю ещё раз:
You setup Oracle to use OS authentication and then simply leave sqlca.userid and password empty.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / внешняя аутентификация PB+ORACLE / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]