Добрый день! 

Подскажите, возможна ли авторизация пользователей с многофакторной аутентификацией?

Нравится

2 комментария

Я по этому поводу нашел всего одну статью 
https://community.terrasoft.ru/articles/dvuhfaktornaa-autentifikacia-v-…

 

Добрый день, Павел!

К сожалению, в базовой конфигурации не предусмотрена функция двухфакторной аутентификации. 

На ответственной команде разработки уже есть зарегистрированная задача по реализации данного функционала, в будущих релизах, но точных сроков на текущий момент нет.
Я добавлю Ваш запрос, чтобы повысить ее приоритет.

В Creatio реализована возможность авторизации через LDAP или с использованием SSO.

Спасибо, что помогаете делать наш продукт лучше!

С уважением,
Сидько Елена
Оператор
Группа компаний Terrasoft

Показать все комментарии

Всем привет, подскажите, пожалуйста, встречался ли кто-нибудь со следующей проблемой, или может есть идеи как решить.

При авторизации на локальном стенде выдает ошибку в консоли. В последний раз среда работала в пятницу, в выходные с ней никто не работал, в понедельник появилось это. 
Конфиги проверял, везде стоит http, в iis настроено на http.
Редис чистил.
Сервер перезагружал.
Доступ к приложению есть, так как localhost/0/favicon.ico открывается в браузере.

Нравится

5 комментариев

Да, спасибо, но как я уже ранее говорил, конфиги и iis я уже проверял, приложил скришоты по всем пунктам.
1) Привязки в iis настроены на http.

2) Web.config в корневом каталоге.

3) Web.config в web.app (тут ошибка остается вне зависимости от того, true или false)

4) Web.config в web.app

Марат Закиров,

Проверьте компоненты IIS. 

Все компоненты включены.

У коллеги схожая проблема была из-за неверных установок Windows Server

Показать все комментарии

Подскажите пожалуйста, не сделали еще поддержку работы jwt-токенов (внешний сервис аутентификации/авторизации)?

Нравится

1 комментарий

Добрый день, Вадим!
 

Касательно вопроса аутентификации, на текущий момент из готовых реализаций у нас есть два способа аутентификации: базовая (логин/пароль) и OAuth 2.0. Для использования же  jwt-токенов необходимо писать пользовательские методы аутентификации, что требует навыков разработчика.

На ответственной команде разработки уже есть зарегистрированная проблема для анализа и возможности внедрения такой функциональности в будущих версиях продукта. Я зафиксировала Ваш запрос и с его помощью повысила ее приоритет.

Спасибо, что помогаете делать наш продукт лучше!

С уважением,
Сидько Елена
Оператор
Группа компаний Terrasoft
 

Показать все комментарии

На windows 10 развернул 2 независимые среды разработки.

2 БД, 2 сайта в IIS, 2 пула приложений под каждый сайт.

Не удается одновременно авторизоваться на двух сайтах. После авторизации на первом - выкидывает из второго и наоборот.

localhost:80 и localhost:7012

Если нужны скриншоты - предоставлю

Нравится

6 комментариев
Лучший ответ

Это из-за того, что в одном браузере cookies получаются общими для одного и того же домена localhost. Второй сайт, в котором авторизовались, перезаписывает BPMCSRF токен для первого сайта, из-за чего приложение первого сайта убивает сессию, т.к. ему приходит неверный токен. И наоборот. Заходите либо через разные браузеры, либо через режим инкогнито.

Через разные браузеры пробовали?

Это из-за того, что в одном браузере cookies получаются общими для одного и того же домена localhost. Второй сайт, в котором авторизовались, перезаписывает BPMCSRF токен для первого сайта, из-за чего приложение первого сайта убивает сессию, т.к. ему приходит неверный токен. И наоборот. Заходите либо через разные браузеры, либо через режим инкогнито.

Vyacheslav Lipatkin,

одни сайт в chrome к примеру, другой в Firefox

Сергей Рогов,

Также, проблема может быть в одинаковых базах Redis для 2-х сайтов.

Мы прописали внутри предприятия различные имена для сайтов в локальном DNS. в IIS сделали соответствующие настройки и настало счастье. 

Режим инкогнито оказался наиболее простым и эффективным решением. Спасибо!

Показать все комментарии

Добрый день,

 

При попытке зайти в Террасофт установленный на сервере (Windows Server 2008 R2 Enterprise), возникает ошибка:

К сожалению, многочисленные попытки решить данную проблему не принесли результата.

Также было замечено, что при добавлении новой конфигурации при нажатии на кнопку выбора имени драйверов Oracle (Home) возникает другая ошибка:

Насколько я понял проблема возникает из-за того, что на сервере были установлены несколько версий Oracle и в данный момент версия 11.2.0 отсутствует на сервере. Вместо нее установлена версия 12.2.

Попытка очистить следы Oracle 11.2.0 и в дальнейшем даже переустановка Oracle привела лишь к тому что в данный момент выходит пустой список в котором невозможно выбрать версию Oracle:

 

Прошу помочь в решении данной проблемы.

 

Благодарю.

 

P. S. По возможности помогите пожалуйста найти инструкцию по бэкапу Terrasoft 3.3, для попытки переустановки Terrasoft, чтобы решить вышеуказанную проблему.

Нравится

3 комментария

Обратите внимание на рекомендацию по поводу «Ошибка открытия конфигурации: Cannot find OCI DLL»:

Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).

Также версия ядра 3.3.2.120 далеко не самая новая, есть смысл попробовать на последних файлах 3.3.2.313, поскольку в версии 175 и выше вносились изменения в механизм работы с сервером сессий для Oracle.

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

Для получения бекапа существующей базы нужно воспользоваться средствами СУБД, а также не забыть автоматически перенести или вручную завести пользователей с такими же именами, как в базе, на уровне сервера БД. Именно для Oracle инструкции не встречал. Например, для MS SQL это делается так. Если забыть перенести, то пустит только администратора SYS.

Зверев Александр пишет:
Для приложения Terrasoft под Oracle обязательно необходимо, чтобы на компьютерах всех пользователей, использующих конкурентные лицензии, был установлен клиент Oracle одной и той же версии. Имя сервера на компьютерах всех пользователей должно совпадать с именем, указанным в поле [Сервер] окна редактирования строки соединения компьютера, на котором заказывают и загружают лицензии, и данный сервер должен быть зарегистрирован. Имя сервера прописывается в файле tnsnames.ora, расположенном в инсталляционной директории клиента Oracle (например, d:/oracle/ora92/network/admin/ tnsnames.ora).

Добрый день. Данная проблема наблюдается на самом сервере (невозможно зайти в Terrasoft установленный на сервере).

По поводу бэкапа, посмотрю, большое спасибо за помощь.

Показать все комментарии

Здравствуйте, я вроде все сделал по инструкций вроде он за работал открываеться все как полеженно но не могу войти дальше. 

вот такая ошибка в консоли 

 

 

Нравится

6 комментариев
Лучший ответ

LuBiTeL,

Пройдитесь ещё раз по инструкции по разворачиванию приложения on-site и проверьте, чтобы все необходимые компоненты Windows из списка были установлены.

Добрый день! Посмотрите эти темы:

https://community.terrasoft.ru/questions/ne-rabotaet-novaa-stranica-logina и 

https://community.terrasoft.ru/questions/ne-vhodit-v-sistemu

 

А еще на своем скриншоте вы раскрыли адрес сайта и пароль к нему. Будьте аккуратее.

Дмитрий А.,

Здравствуйте, я по читал вроде все установленно. оброзом все в порядке по сколько я его разворачивал на vbox и все работала а тут я не пойму все тоже самое ( 

LuBiTeL,

Пройдитесь ещё раз по инструкции по разворачиванию приложения on-site и проверьте, чтобы все необходимые компоненты Windows из списка были установлены.

спасибо разобрался. 

LuBiTeL,как ? у меня такая же ошибка

 

Vladimir.D,

перепроверь просто все ли компоненты, я из вкладки iis установил

Показать все комментарии

Возможно ли использование JWT авторизации для подключения веб сервиса, а так же для доступа к API BPM?

Нравится

1 комментарий

Нет, JWT не поддерживается. 

При интеграции bpm’online с веб-сервисами поддерживается два типа аутентификации: базовая и OAuth 2.0.

Показать все комментарии

Добрый день.

Есть такой случай: есть сервис где для авторизации нужно постом отправить данные clientID, secretID и grant_type, а в ответ приходит токен, тип токена и скрок действия токена. Для вызова других методов этого api нужно в header передавать Authorization : "тип токена" "токен". 

Допустим, для использования этого аpi, создаем процесс который по времени будет обновлять токен и сохранять его например в системную переменную(настройку). Но как с помощью веб-сервисов сделать запрос  и вставить в него header с "Authorization" ?

Нравится

4 комментария

Сергей приветствую

Способ авторизации у вас отличен от OAuth2? Каким способов Авторизации вы пользуетесь при работе с Веб-сервисом? немного этого не допонял. Спаисбо.

Власов Михаил Викторович,

Добрый день Михаил вот документации  https://sendpulse.ua/integrations/api#url но увы я не вижу  там описания какой версии OAuth2

Немного покопавшись в интернете и сопоставив с  документацие - сделал вывод, что там описан метод авторизации "Bearer token". А из коробки bpmonline готовой реализации такой авторизации нету.

Если речь об обращению к стороннему сервису в C#-коде, то в стандартных примерах  есть добавление в заголовки токена BPMCSRF:

// Добавление CSRF токена в заголовок запроса.
CookieCollection cookieCollection = AuthCookie.GetCookies(new Uri(authServiceUri));
string csrfToken = cookieCollection["BPMCSRF"].Value;
updateRequest.Headers.Add("BPMCSRF", csrfToken);

А в готовом элементе БП по вызову веб-сервиса есть только базовая аутентификация  и OAuth 2.0.

Показать все комментарии

При входе в BPM появляется ошибка авторизации, подскажите, как это можно исправить.

Версия BPMonline 7.2 (почему-то нельзя выбрать на форуме при создании вопроса)

Чистка SysUserSession и перезапуск IIS не помогают.

Скрин прилагается.

Нравится

6 комментариев

Добрый день, Юрий.

Нужно смотреть профиль пользователя Supervisor. Скорее всего у него был удален контакт, также стоит проверить активен ли он, в каких группах состоит и какие лицензии ему розданы. Это может сделать другой системный администратор. Если же Supervisor был единственным сисадмином - тогда это нужно проверить напрямую в БД.

Контакт присутствует. Роли и лицензии прикладываю.

Иногда бывает, что проблема сама проходит, но на данный момент ошибка всё еще воспроизводится.

 

 

 

 

 

2018-06-06 17:47:34,916 [11752] INFO OperationLogger LogUserLoginError - Отказ авторизации пользователя Supervisor. IP-адрес: ::1. Причина отказа: LicHelper не проинициализирован

2018-06-06 17:58:19,398 [6408] ERROR ..\tz-user-1 Terrasoft.WebApp.Loader.FileWebEventProvider RaiseInternal - Date: 06.06.2018 17:58:19
Date (UTC): 06.06.2018 13:58:19

Exception Message: Профиль пользователя является временным профилем.

Exception Type: System.Security.Cryptography.CryptographicException
Exception Source: mscorlib

Exception Stack Trace:
   в System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
   в System.Security.Cryptography.Utils.get_StaticDssProvHandle()
   в System.Security.Cryptography.DSACryptoServiceProvider.ImportParameters(DSAParameters parameters)
   в System.Security.Cryptography.DSA.FromXmlString(String xmlString)
   в Terrasoft.Common.DSACryptoServiceProvider.VerifyData(String data, String signedData, String publicKey)
   в Terrasoft.Core.LicHelper.CheckLicKey(String packageName, Int32 licCount, DateTime startDate, DateTime dueDate, String licKey, String publicKey, Int32 licType, Int32 sspSchemaCount, Int32 sspAdministratedSchemaCount)
   в Terrasoft.Core.LicHelper.GetUserValidPackages(Guid userId, Boolean throwLicExceptions)
   в Terrasoft.Core.LicHelper.InitializeSysPackages()
   в Terrasoft.Core.UserConnection.get_LicHelper()

SessionID: i3z1jgifmbms21gocshfzshy
Request URL: /Lic/LicManager.aspx
Request Path: /Lic/LicManager.aspx
Request Type: GET
User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
User Host Address: ::1
User: Supervisor
Is Authenticated: True
Authentication Type: Forms
Is Secure Connection: False
 

удалось победить, создав постоянный профиль для пользователя

Показать все комментарии

Добрый день, Коллеги!

Изучили ряд тем на сообществе по данному вопросу и попробовали воспроизвести кейс из данной темы:

https://community.terrasoft.ru/questions/anonimnaa-autentifikacia-vnesn…

Сделали всё в точности как описано в примере, включая настройку web-конфигов. 

Сервис:

namespace Terrasoft.Configuration
{
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Data;
 using System.Linq;
 using System.Security;
 using System.ServiceModel;
 using System.ServiceModel.Web;
 using System.ServiceModel.Activation;
 using System.Web;
 using Terrasoft;
 using Terrasoft.Common;
 using Terrasoft.Common.Json;
 using Terrasoft.Core;
 using Terrasoft.Core.DB;
 using Terrasoft.Core.Entities;
 using Terrasoft.Core.Store;
 using Newtonsoft.Json;
 
 using Terrasoft.Web.Common;
 
    [ServiceContract]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
    public class UsrGreetingService : BaseService //,System.Web.SessionState.IReadOnlySessionState
    {
 
        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "Hello", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        public string TestHello()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
 
        [OperationContract]
        [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
        public string TestHelloXml()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
        [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
        public string TestPostJson()
        {
            return "Hello!!!!!!!!!!!!!!!!!";
        }
 
 
 
 
 //       private UserConnection _userConnection;
  /// <summary>
  /// </summary>
// private UserConnection UserConnection {
//  get {
//   return _userConnection ?? (_userConnection = HttpContext.Current.Session["UserConnection"] as UserConnection);
 //  }
// }
    }
}

 

В результате попробовали отправить запрос через POSTMAN

1) Если указать метод GET без авторизационных Cookie, то всё работает

Как пример можно получить результат запроса по ссылке:

http://93.188.21.108:2022/0/ServiceModel/UsrGreetingService.svc/Hello

 

2) Указываем метод POST без авторизационных Cookie, то получаем 403:

 

 

Если же добавить к запросу(метод POST) авторизационные Cookie, то всё работает...

Коллеги, прошу подсказать, что именно делаем не так?

 

Нравится

2 комментария

Добрый день, 

Проверьте включена ли на сайте CSRF-защита. В внешнем и внутреннем Web.config есть атрибут UseCsrfToken, содержит значение true то можно поступить следующим образом: 

1. Изменить значение UseCsrfToken в Web.config и WebApp/Web.config на 

<add key="UseCsrfToken" value="false" />

2. В хедере запроса отправлять Csrf-токен. Следующим образов (в случае безавторизационного сервиса, авторизацитонные куки можно не отправлять):

Tsopa,

Спасибо большое! Решили проблему получением и отправкой

авторизацитонных куков!

Показать все комментарии