Выдача прав на выполнение web сервисов реализована посредством ролей аналогично обычным пользователям системы.
Инструменты настройки доступа к web сервисам подробно описаны в документации администратора системы Ultima Businessware®. Сами инструменты находятся на закладке Administrator главного меню в группе WebService:
•Users – пользователи web сервисов;
•Roles – роли web сервисов;
•Sessions – сессии web сервисов.
Для настройки доступа к web сервису необходимо:
•в роли web сервиса установить флаг в списке web сервисов для данного web сервиса:
•в карточке пользователя web сервиса установить в списке ролей флаг для роли, дающей доступ к данному web сервису:
Пользователю может быть назначено несколько ролей. Роль, в свою очередь, может давать доступ к нескольким web сервисам. В итоге пользователь получает доступ ко всем web сервисам всех выбранных ролей.
Обратите внимание: учетные записи с неограниченным режимом учета подключений перечислены в файле лицензий. Если логин учетной записи обозначен как безлимитный, пароль будет проверяться по файлу лицензий, а не по справочнику пользователей! |
Пример реализации клиента на C#:
using System; using ServiceStack; using Ultima.WebServices;
namespace ConsoleApplication { class Program { static void Main(string[] args) { var client = new JsonServiceClient("http://192.168.254.54:8337") { UserName = "UserName", Password = "UserPassword" };
var request = new GetNow(); var response = client.Get(request);
Console.WriteLine("IsoTime: {0}", response.IsoTime); Console.WriteLine("Time: {0}", response.Time); Console.WriteLine("Timestamp: {0}", response.Timestamp); Console.WriteLine("Date: {0}", response.Date);
Console.ReadLine(); } } } |
Пример реализации клиента на php:
#!/usr/bin/php -q <?php require_once 'HTTP/Request2.php'; require_once 'HTTP/Request2/CookieJar.php';
$request = new HTTP_Request2("http://192.168.254.54:8337/json/reply/GetNow", HTTP_Request2::METHOD_POST); $request->setAuth('UserName', 'UserPassword');
$response = $request->send();
if ($response->getStatus() == 401) { echo "Auth error!\n"; exit(); }
if ($response->getStatus() != 200) { echo "Status: " . $response->getStatus() . "\n"; exit(); }
$body = $response->getBody(); echo $body . "\n"; ?> |