Получить имя юзера NOVELL

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Hello, clalist!

Народ, кто-нить знает, как имя юзера в сети Новел (НДС) заполучить?

--
WBR, Тимур Ташбаев, mailto:tim@vz111.bryansk.ru, http://www.oka.made.ru
=2.87 3.12 3.62 4.12 4.62 5.30 6.80 9.10 10.20 ...=

(Добавление)

Кажись так

ccode=NWDSCreateContextHandle(context) ! Получить контекст
ccode=NWDSWhoAmI(context,objectName) ! Получить имя пользователя Novell
objectName и есть имя пользователя

В глобалах в
Inside the Global map
MODULE('CALWIN32.LIB')
NWDSWhoAmI(ULONG,*CSTRING),USHORT,RAW,PASCAL
NWDSCreateContextHandle(*ULONG),USHORT,RAW,PASCAL
END

Евгений Десяткин <del@stingr.net>

WNetGetUserName вроде.

Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
origin: ...Позволь поцеловать в твоем лице твое лицо (а это так немало)...

А прототипы для Клары где взять? :)

--
WBR, Тимур Ташбаев

Hi,

Были когда-то шаблончики, которые все что делали - это вешали прототипы API новелевского клиента.

ЗЫ. У себя не нашел.

WBR, Nick Tsigouro. MailTo:Nick@arsis.ru

(Добавление)

WNetGetUser(ULONG,*CSTRING,*ULONG),LONG,RAW,PASCAL,NAME('WNetGetUserA')

RozAlex
Написал: ClaList(2)
Гость

Сообщение Гость »

Поскольку не сказано, какого юзера, то вот пример для залогонившегося юзера рабочей станции нетвари. Из работающей задачи.

Код: Выделить всё

!!!!!!!!!!!!!!! Prototypes

  Module('NETWIN32.DLL')
NWDSCreateContextHandle(Long),Long,Raw,Pascal,Name('NWDSCreateContextHandle'),DLL

NWDSFreeContext(Long),Long,RAW,Pascal,Name('NWDSFreeContext'),DLL
NWDSVerifyObjectPassword(Long,Long,Long,Long),Long,Raw,Pascal,Name('NWDSVerifyObjectPassword'),DLL

NWNetInit(Long=0,Long=0),Long,RAW,Pascal,Name('NWNetInit'),DLL
NWNetTerm(Long=0),Long,RAW,Pascal,Name('NWNetTerm'),DLL
NWDSWhoAmI(Long,Long),Long,RAW,Pascal,Name('NWDSWhoAmI'),DLL
  end

!!!!!!!!!!!!!!!!!!!!! Data

Login                    CSTRING(121)
LoginA                   LONG
Password                 CSTRING(121)
PasswordA                LONG
NWHandle                 LONG
NWHandleA                LONG
NWFlags                  LONG
NWFlagsA                 LONG
Login1                   CSTRING(121)
Login1A                  LONG


!!!!!!!!!!!!!!!!!!! Code

clear(NWHandle)
NWHandleA=address(NwHandle)
NWFlagsA=address(NWFlags)
LoginA=address(Login)
Login1A=address(Login1)
PasswordA=address(Password)
clear(par#,1)
rc1#=0
rc1#=NWNetInit(-1,-1)     !Именно так
if ~rc1#
    rc1#=NWDSCreateContextHandle(address(NWHandleA))  ! Обязательно
    if ~rc1#
      NWFlags=0
      rc1#=NWDSWhoAmI(NWHandleA,LoginA)            ! Читаем UserName в виде
Квалификатор=UserName
      if ~rc1#
         pos#=0
         pos1#=0
         loop
              pos1#=instring('=',Login,1,pos1#+1)
              if ~pos1#
                 break
              else
                 pos#=pos1#
              end
         end
         if pos#
            Login=sub(Login,pos#+1,len(Login)-pos#)  ! извлекаем UserName
         end
      end
   end
end
loop 3 times
     rc1#=CheckPass()   ! проверка пароля (мож пригодится)
     if rc1#=Level:Notify
        rc1#=Level:Fatal
        break
     end
     if rc1#=Level:Fatal
        cycle
     else
        break
     end
end
clear(Password)
NWDSFreeContext(NWHandleA) ! Обязательно
NWNetTerm()                               ! Обязательно

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ФРАГМЕНТ CheckPass (проверка пароля)

! Password запролняется юзером вручную (или еще как)

 rc1#=NWDSVerifyObjectPassword(NWHandleA,NWFlagsA,LoginA,PasswordA)
 clear(Password)
 if ~rc1#
    Rc=Level:Benign
 else
    Rc=Level:Fatal
 end

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! END
Anatoly Kushnir <kushnir@eximbank.com>
Поскольку не сказано, какого юзера, ...
Того, под чьим логином станция, с которой запускаем прогу
то вот пример для залогонившегося юзера рабочей станции нетвари. Из работающей задачи.
Угу. Пасиба! Ща буду прогу делать :)

--
WBR, Тимур Ташбаев
Написал: ClaList(2)
Ответить