SIEMENS, DF&PD

Предыдущее посещение: Вт июн 21, 2016 9:50 Текущее время: Вт июн 21, 2016 9:50

Часовой пояс: UTC + 3 часа




 [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Авторизация пользователей
СообщениеДобавлено: Чт сен 28, 2006 9:48 
Не в сети
Начинающий писатель

Зарегистрирован: Пт мар 10, 2006 7:46
Сообщения: 55
Добрый день.
Подкажите плз, как проверить авторизацию пользователя WCC на предмет доступа например к Change picture скриптом Си.
Дело в том, что управление объектами привязано к акции мыши на символы из Symbol Library, которые не имеют вкладки Authorization.
Хочу, не создавая прозрачной кнопки, непосредственно привязать тег наличия авторизации на свойство Operator-Control Enable.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 28, 2006 10:03 
Не в сети
Известный Писатель

Зарегистрирован: Ср июн 14, 2006 9:51
Сообщения: 114
Откуда: г.Москва
Посмотри ODK PermissionCheck вроде


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 28, 2006 15:53 
Не в сети
Известный Писатель

Зарегистрирован: Сб янв 15, 2005 0:49
Сообщения: 466
Откуда: Уфа
Свойство Operator Control Enable привязываем динамическим диалогом. В выражении пишем PASSCheckLevelPermission (N). Тип данных устанавливаем в "прямой". Имя события - тег @CurrentUser по изменению. В User Admin добавляем тип авторизации с номером N и устанавливаем, отмечаем этот тип нужному пользователю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Авторизация пользователей
СообщениеДобавлено: Пт сен 29, 2006 8:01 
Не в сети
Начинающий писатель

Зарегистрирован: Пт мар 10, 2006 7:46
Сообщения: 55
To Heid:

Вот что я получил:
'PASSCheckLevelPermisson' is not a function
Wrong expression/formula

Наверное в этом случае без Си-скрипта с использованием ф-ции PWRTCheckPermission и подключением библиотек и хейдеров(pwrt_api.h, pass_s.lib, useadmin.dll) из ODK не обойтись.Только как это сделать? С ODK не сталкивался вообще. По форуму просмотрел, и понял так,что ODK- доп. опция к WinCC, поставляется отдельно. (на диске с инсталлятором WinCC я не нашел ODK). Подскажите как быть? [/i][/b]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 29, 2006 8:17 
Не в сети
Известный Писатель

Зарегистрирован: Ср июн 14, 2006 9:51
Сообщения: 114
Откуда: г.Москва
#pragma code("USERADMIN.DLL")
#include "PWRT_API.h"
#pragma code()

Вставь в начале функции


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 29, 2006 9:37 
Не в сети
Известный Писатель

Зарегистрирован: Вт янв 04, 2005 9:08
Сообщения: 188
Откуда: Украина, АО Укртатнафта
ODK - комплект документации. Обрезанную версию можно скачать здесь: http://www.automation-drives.ru/as/down ... c/ODK6.zip Для большинства случаев ее вполне достаточно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Авторизация пользователей
СообщениеДобавлено: Пт сен 29, 2006 9:41 
Не в сети
Начинающий писатель

Зарегистрирован: Пт мар 10, 2006 7:46
Сообщения: 55
Сделал так:
На св-во OperatorControlEnable повесил это:

#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code("USERADMIN.DLL")
#include "PWRT_API.h"
#pragma code()

if(PWRTCheckPermission(20,0))
return(1);
else
return(0);
}

Не работает(нет управления, даже если у пользователя есть уровень 20)
В чем баг? Может я неправильно что-то сделал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Авторизация пользователей
СообщениеДобавлено: Пт сен 29, 2006 9:47 
Не в сети
Начинающий писатель

Зарегистрирован: Пт мар 10, 2006 7:46
Сообщения: 55
to Nick Gashevsky

Спасибо, я это уже стянул и нашел вот эту функцию
PWRTCheckPermission
но она не работает(у меня- см. предыдущее сообщение)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт сен 29, 2006 13:21 
Не в сети
Известный Писатель

Зарегистрирован: Сб янв 15, 2005 0:49
Сообщения: 466
Откуда: Уфа
На св-во OperatorControlEnable вешай это:
Код:
#include "apdefap.h"
BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()

return PWRTCheckPermission (20, FALSE);
}

Теперь сравни свой код и мой (не USERADMIN.DLL, а useadmin.dll)...

В качестве триггера на событие ставишь тег @CurrentUser по изменению...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Авторизация пользователей
СообщениеДобавлено: Пт сен 29, 2006 14:06 
Не в сети
Начинающий писатель

Зарегистрирован: Пт мар 10, 2006 7:46
Сообщения: 55
Спасибо всем кто откликнулся,
Hied, спасибо - во истину рулит,
только заменил в последней строке return.... FALSE на TRUE и выскакавающее окошко для подтверждение не надоедает.

Тема закрыта:)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: frokons, grey1983 и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group