Настройка доступа к web сервисам

Выдача прав на выполнение web сервисов реализована посредством ролей аналогично обычным пользователям системы.

Инструменты настройки доступа к web сервисам подробно описаны в документации администратора системы Ultima Businessware®. Сами инструменты находятся на закладке Administrator главного меню в группе WebService:

AdministratorBookmark

Users – пользователи web сервисов;

Roles – роли web сервисов;

Sessions – сессии web сервисов.

Для настройки доступа к web сервису необходимо:

в роли web сервиса установить флаг в списке web сервисов для данного web сервиса:

WebService_RolesEditFrom

в карточке пользователя web сервиса установить в списке ролей флаг для роли, дающей доступ к данному web сервису:

WebService_UsersEditFrom

Пользователю может быть назначено несколько ролей. Роль, в свою очередь, может давать доступ к нескольким web сервисам. В итоге пользователь получает доступ ко всем web сервисам всех выбранных ролей.

 

35_important

Обратите внимание: учетные записи с неограниченным режимом учета подключений перечислены в файле лицензий. Если логин учетной записи обозначен как безлимитный, пароль будет проверяться по файлу лицензий, а не по справочнику пользователей!

 

Пример реализации клиента на 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";

?>