Страница 1 из 1

не знаю Netware вообще

СообщениеДобавлено: 10 сен 2003, 16:09
marina
я пишу прогу на Delphi. База на Oracle. У нас сеть Novell Netware 5.0. У каждого пользователя есть сетевое имя, например bmg.ois.esv. Надо при входе в мою программу как-то выцыпить это имя, чтобы контролировать кто вошел в программу. Как это сделать? Помогите пожалуйста! :shock:

СообщениеДобавлено: 10 сен 2003, 17:07
Андрей Троценко
Вам понадобиться eDirectory library for C из NDK (http://developer.novell.com/ndk).

Ключевая функция - NWDSWhoAmI(...).
А примеры использования -
http://developer.novell.com/ndk/doc/sam ... n.pas.html
http://developer.novell.com/support/sam ... clxnds.htm
http://developer.novell.com/support/sam ... whoami.htm

Но этот метод - развязывания клиентом своих реквизитов и передачи стороннему серверу не надежен с точки зрения безопасности приложения.

СообщениеДобавлено: 10 сен 2003, 17:08
Мещеряков Андрей
Приветствую!
Скорее всего, имя можно запросить у клиента. А если из доморощенных способов "от сохи" то пишите процедуру регистрации скрипт, который создает переменную окружения с именем регистрирующегося пользхователя. Вам остется только ее прочитать...
Если я не прав - пусть уважаемая аудитория поправит.

С уважением, And

СообщениеДобавлено: 10 сен 2003, 17:22
Алексей Судариков
Была такая библиотека для Delphi - nwlib. Вживую с ней не работал, но наверное, стоит посмотреть в эту сторону...

СообщениеДобавлено: 10 сен 2003, 17:28
Алексей Судариков
Порывшись в архивах, нашел следующее:

NWLib for Delphi and C++ Builder
by Devont Software Inc.

5411 Alamosa
Spring TX 77379

http://www.devont.com
sales@devont.com
support@devont.com

-------------------
whoAmI : string

Just like Novell's own command line utility of the same name, WhoAmI allows you to fetch the current user's Login Name at the preferred server.

Parameters

nServer: TNWConnHandle The server connection handle that owns the object in which to query. Pass a 0 (zero) as the server handle and NWLib automatically uses the 'primary' server connection handle.

Returns

String: The name of the user logged in on the current server.

Example

begin
footer.caption := whoAmI;
if fileExists('m:\home\' + whoAmI(0) + '\zofo.zep') then
alertBox('Cool.') ;
end;

Re: не знаю Netware вообще

СообщениеДобавлено: 10 сен 2003, 20:28
Аркадий Глазырин
marina писал(а):я пишу прогу на Delphi. База на Oracle. У нас сеть Novell Netware 5.0. У каждого пользователя есть сетевое имя, например bmg.ois.esv. Надо при входе в мою программу как-то выцыпить это имя, чтобы контролировать кто вошел в программу. Как это сделать? Помогите пожалуйста! :shock:


Привет, Marina!

Если удастся что-то разузнать, то расскажи поподробнее о внедрении. А то у нас Актив на Oracle. Oracle на FreeBSD в то время как файл-сервера NetWare. Это бардак конечно, но так уж исторически сложилось и у нас все ходят с разными логинами и паролями. Один для NDS, другой для Oracle.

Идете на developer.novell.com

СообщениеДобавлено: 10 сен 2003, 22:23
Boris Morozov
Там все что угодно, сотни всяких примеров, бери не хочу. Задача тривиальная, если стоит родной клиент. У нас вовсю даже Role based service в программах пользуется. Напомните мне после 20, я не дома.

Re: Идете на developer.novell.com

СообщениеДобавлено: 11 сен 2003, 08:26
Аркадий Глазырин
Boris Morozov писал(а):Там все что угодно, сотни всяких примеров, бери не хочу. Задача тривиальная, если стоит родной клиент.


Т.е. хочешь сказать, что задача решается и притом не так уж сложно????

СообщениеДобавлено: 11 сен 2003, 09:37
Dimerson
Андрей Троценко писал(а):Вам понадобиться eDirectory library for C из NDK (http://developer.novell.com/ndk).

Ключевая функция - NWDSWhoAmI(...).



С Эти можно поспорить. Например при переходе на NW6 обнаружилось что DSWhoami упорно возвращает contextless name.

Пришлось делать через NWDSMapIDToName ...

Это с использованием C SDK.

А на ASM через VLM Calls через NDS Fragment Request.

Тут тоже было весело - выяснилось что в NT/2000 только некое подмножество функций VLM .... что совсем не описано в документации. Спасибо Petr Vandrovec помог [автор ncpfs].

Враки это

СообщениеДобавлено: 11 сен 2003, 11:54
Андрей Троценко
Насчет предидущего высказывания:
The object name is returned in partial dot form. Whether the name in
objectName is returned as a full name or a partial name depends upon the
setting of the context flags:
* If the DCV_CANONICALIZE_NAMES flag is set to ON,
NWDSWhoAmI returns a partial name.
* If the DCV_CANONICALIZE_NAMES flag is set to OFF,
NWDSWhoAmI returns a distinguished name.
If the context flag associated with DCV_TYPELESS_NAMES is set to ON,
the name returned by NWDSWhoAmI will be untyped; otherwise it will be
typed.

А в качестве развития темы: кто-нибудь делал не проверку клиентским приложений своих полномочий (как, вероятно, будет в случае использования одного NWDSWhoAmI), а нечто вроде того, как реализован SSO для BM (CLNTRUST) - ведь это правильный вариант "авторизации" ?

СообщениеДобавлено: 13 сен 2003, 15:41
Музалёв Николай
Arkadi, Goblins Chief писал(а):... задача решается и .... не так уж сложно????

На РАЗ!!
У нас малюсенькая программка учетного комплекса дергает из Дерева всю видимую (в NWadmine) информацию о пользователе и потом это преобразуется в текст и тихохонько вставляется в DWG-файл АВТОКАДА - пользователь и не знает даже.
Надо посмотреть - пришлю, телефонируйте.

СообщениеДобавлено: 13 сен 2003, 17:49
Андрей Тр. aka RH
Музалёв Николай

Что, и пароли тоже ? Аркадию, как я понял, хочется авторизовывать народ в на Фре с Ораклом по объектам из NDS. Т.е. либо синхронизировать базы пользователей, либо как-то хранить в NDS копии других аккаунтов ( читай - тоже синхронизировать, но в одном направлении ) и потом выполнять аутентификацию ( прозрачно для пользователя ).

Хотя, возможно, я что-то не так понимаю .. и все гораздо проще в этом мире.

СообщениеДобавлено: 15 сен 2003, 10:02
Аркадий Глазырин
Андрей Тр. aka RH писал(а):Музалёв Николай

Что, и пароли тоже ? Аркадию, как я понял, хочется авторизовывать народ в на Фре с Ораклом по объектам из NDS. Т.е. либо синхронизировать базы пользователей, либо как-то хранить в NDS копии других аккаунтов ( читай - тоже синхронизировать, но в одном направлении ) и потом выполнять аутентификацию ( прозрачно для пользователя ).


Именно так.

А то что получается?
В NDS есть юзер Arkadi_Glazurin.Bluhera.ACM с паролем ",ei-cerf!"
А к Oracle он логинится под именем AG и паролем "rfrfzhfpybwf?"

Приходится помнить два разных логина и два разных пароля. Что не правильно.

СообщениеДобавлено: 15 сен 2003, 19:03
botler
Привет всем

Ну неужели сложно найти это http://developer.novell.com/support/sample.htm
и поискать там решение своей проблемы?

СообщениеДобавлено: 16 сен 2003, 17:58
Аркадий Глазырин
Василий Буров писал(а):Привет всем

Ну неужели сложно найти это http://developer.novell.com/support/sample.htm
и поискать там решение своей проблемы?


Ты не поверишь, но сложно. Во-первых на иноземном языке, а во-вторых я просто не знаю что же искать. Это пожалуй важнее.
Гляжу я на две колонки и вижу фигу. :(