Вопрос:

Добавили форму регистрации лидов, но форма приходит пустая. Маппинг настроен не с помощью id, а с помощью class.

Ответ:

Необходимо проверить встроенный код лендинга на наличие ошибок. В блоках config  привязка полей формы и bpm определялась классами. В связи с этим есть несколько замечаний.

1. В блоках config можно прописать только один класс или id. Проверьте, не ли форм, где классов два или больше.

2. Классы должны быть уникальны, так же как и id на протяжении всей страницы.

3. Рекомендуется задавать соответствие полей через id, а не через классы.

Нравится

Поделиться

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

Тема настройки веб-формы подымалась не один раз. И все же, в разных версиях Windows есть отличия. В данном блоге я хочу предоставить цикл поднятия веб-формы на операционных системах с ядром Windows 7 (Windows 7, Windows Server 2008 R2 и выше).
И так, начнем с самого основного – компоненты Windows. В блоге предоставляется основной набор установленных компонентов Windows. Также, здесь описано как работать с веб-формой с помощью доменной авторизации. В связи с добавлением этой функциональности, список минимально необходимых компонентов расширяется.

  1. Добавим/проверим список установленных компонентов
  2. Добавим пользователя, который должен входить в группу IIS_IUsrs
  3. Регистрируем Terrasoft от имени заведенного нами пользователя (в нашем случае – TSWebFormUser)
  4. Настраиваем конфигурацию
  5. Копирование Config.xml
  6. После того, как конфигурация настроена и проверена, нам нужно скопировать файл с Config.xml из папки пользователя TSWebFormUser в папку Settings установленного Terrasoft’а
    В моем случае Terrasoft установлен в папку C:\Terrasoft, поэтому я буду его копировать в C:\Terrasoft\Settings из папки пользователя С:\Users\TSWebFormUser\appdata\Roaming\Terrasoft\3.4.0\Settings

  7. Редактирование RunSettings
  8. Открываем файл RunSettings.xml (в моем случае C:\Terrasoft\Settings\RunSettings.xml) и указываем новый путь к файлу Config.xml

  9. Открываем оснастку Internet Information Service (IIS) Manager
  10. Проверяем ISAPI and CGI Restrictions

  11. Если у вас в списке нету ASP NET v4.0.x, то необходимо установить Framework 4 (при установке скорее всего появится диалог Remove\Repair, нужно сделать Repair или из командной строки выполнить:
    %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i
    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i)

  12. Добавляем новый Application Pool
  13. Настраиваем запуск от имени нашего заведенного пользователя TSWebFormUser
  14. Устанавливаем разрешение на запуск 32-х битных приложений (в 2008 R2 x64 у меня заработало без этого разрешения, но скорость меньше)
  15. Добавляем приложение (именно приложение, Virtual Directory работать не будет) и указываем пользователя, от которого оно будет запускаться
  16. Тестируем подключение
  17. Добавляем страницу Login.aspx как страницу по умолчанию
  18. В Application Settings настраиваем подключение к конфигурации
  19. В секции TSLogin нужно указать пользователя, который имеет права на соответствующие разделы

На этом этапе Вы получаете работоспособную Web-форму, но без доменной авторизации. Для того чтобы включить доменную авторизацию необходимо:

  1. Установить значение параметра TSAllowWindowsAuthentication в True
  2. Авторизация
  3. Анонимную авторизацию выключить, а Windows Authentication - включить (если она отсутствует в списке, то вы не выполнили 1-й пункт, а именно не включили компонент Windows Authentication)

Вот собственно все, что требуется для настройки Web-формы на Windows 7 и Windows 2008 R2

Нравится

Поделиться

0 комментариев
Показать все комментарии
Публикация

В процессе разворачивания WebForm на IIS я столкнулась с проблемами, решением которых хочу поделиться в этой заметке.

Ошибка: Config Error

Cannot read configuration file due to insufficient permissions

Решение:

Для решения этой проблемы нужно выдать права на чтение папки с сайтом для пользователя IIS_IUSRS.

Ошибка: HTTP Error 401.3 - Unauthorized

HTTP Error 401.3 - Unauthorized You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server. IIS

Решение:

Проверить, включен ли анонимный доступ для этого сайта – раздел IIS Autentification.
Перейти в папку, где лежит сайт, и выдать в ней права пользователю IUSR на чтение.
Второй возможный вариант: Besides enabling Anonymous Authentication for the web site, I had to go a step further and Edit Anonymous Authentication (by right clicking) and change it from a Specific User to Application pool identity.

Ошибка: This assembly is built by a runtime newer[…]

Could not load file or assembly 'Interop.TSObjectLibrary' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. IIS

Решение:

В окне IIS Manager перейти на Application Pool, в появившейся таблице выбрать наш сайт, дважды кликнуть на его записи и изменить версию .NET на подходящую нам.
pic

Ошибка: HTTP Error 500.21

HTTP Error 500.21 - Internal Server Error Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list

Решение:

Лично мне помогло aspnet_regiis.exe –i .
Подробно возможные пути решения проблемы описаны ниже.
After setting up a new Windows 7 computer with IIS 7.5 and Visual Studio 2010, I tried to start my ASP.NET 4.0 website using the Local IIS web server. However, right off the bat I was hit with the following IIS error message:

    HTTP Error 500.21 - Internal Server Error Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.

I knew the website worked correctly, because it ran fine in the Visual Studio Development Server, just not in IIS 7. Apparently, the reason I was recieving the Internal Server error message was that I had installed SQL Server 2008, after installing Visual Studio 2010, and because of this it corrupted the IIS Machine level configuration files ("If you install VS2010 and then install VS2008 and VS2008 SP1, the configuration files for ASP.NET in IIS only include about 1/2 of the correct .Net 4.0 configuration sections." read more here).
To repair this problem I ran a full silent repair of the .NET Framework 4.0. Here's how on either a 32 bit or 64 bit computer:

  1. Click Start -> All Programs -> Accessories -> Run
  2. In the Open textbox paste in the following line (see list of all .NET Framework version install, repair and unistall command lines here):
    For silent repair on 32 bit computer with .Net Framework version 4.0.30319 use:
      %windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

    For silent repair on 64 bit computer with .Net Framework version 4.0.30319 use:
      %windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart
  3. Click OK to start the repair
  4. After, the repair ran for a few minutes, I restarted IIS 7.5, and things began to work correctly!

Hopefully, that will work for you...
Some people also seem to be having success correcting this error by running aspnet_regiis.exe. I initially tried this and it did not work for me, but feel free to give it a shot. (Keep in mind for the example below I have .Net Framework version 4.0.3.0319 installed on my computer, but you may need to change directory version to what is installed on your computer): Here's how to run aspnet_regiis.exe:

  • Run "aspnet_regiis.exe" program from command line (within Command Prompt):
      %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i
  • If you want to open it using the Run program, just type in "Run" in the Windows 7 search box, then use the following line below in the Open box, then click OK:
      %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe –i
  • Note if your computer is 64 bit, then I would change the line to:
      %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i

Hopefully, these solutions help get you up and running and fix the IIS7 error... Handler "PageHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list.

Ошибка: An attempt was made to load a program with an incorrect format.

Could not load file or assembly 'Interop.TSObjectLibrary' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Решение:

В окне IIS Manager перейти на Application Pool, в появившейся таблице выбрать наш сайт. Нажать правую кнопку, выбрать там Advanced Settings и в появившемся окне выставить параметр «Enable 32-Bit Applications» в значение True.

Ошибка: Windows Authentication not allowed

Решение:

В настройках IIS Аутентификация (на уровне сервиса, самый верхний) – разрешить аутентификацию с помощью Windows Autentification. Все остальные способы – запретить.
На уровне сайта – повторить процедуру, запретив все способы аутентификации кроме Windows Autentification.

Ошибка: Object 'Configuration' is not assigned

Решение:

Проверить, прописан ли путь к файлам конфигурации продуктов TERRASOFT в файлах RunSettings бинарников.
Если прописан - перейти в папку, где лежат конфигурационные файлы программного обеспечения TERRASOFT (пример: «%APPDATA% Terrasoft»), и выдать на нее права пользователю IUSR и IIS_IUSR на чтение.

Нравится

Поделиться

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

Марина, спасибо, очень полезная статья!

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

Для входа пользователя через интерфейс веб-формы нужно ввести свой логин и пароль, где логин - это e-mail. Если веб-форма используется для доступа клиентов к своим инцидентам -- то все отлично.

С недавних пор большие компании испытывают потребность использовать веб-форму для своих многочисленных сотрудников. И логично возникло желание использовать при этом доменную авторизацию, чтобы пользователи автоматически заходя на веб-форму видели свои инциденты без необходимости вводить логин и пароль: это и удобно и лучше с точки зрения безопасности.

Поэтому такой функционал был реализован. Начиная с 3.3.2.143. Теперь окно логина выглядит так:

обратите внимание на новую опцию "Использовать доменную авторизацию". При ее установке поле Логин автоматически заполняется именем пользователя текущего сеанса Windows. Один раз установив эту опцию пользователь всегда будет автоматически логинится на веб-форму при каждом входе (пока не нажмет на "Выход").

Также для этого был доработан раздел "Web-пользователи", чтобы можно было добавлять доменных пользователей и импортировать их из домена (подобно как в разделе "Администрирование"):

Для активизации такой возможности нужно не много:

  1. Сборка веб-формы не ниже 3.3.2.143;
  2. Изменения конфигурации в разделе Web-пользователи (там всего 8 сервисов)
  3. В файле web.config установить опцию TSAllowWindowsAuthentication в значение True;
  4. При настройке IIS отключить анонимный доступ.

Также хочу отметить, что попутно веб-форма была переведена на Microsoft .NET Framework 4. Со временем также будет сделана отвязка от сборки бинарных файлов.

Запросы на новую сборку можете направлять в отдел технической поддержки.
С удовольствием отвечу все на вопросы

Нравится

Поделиться

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

Нашел один нюанс, при настройке веб-формы с доменной авторизацией на Windows Server 2003. Нужно обязательно включить NTLM провайдер:

To work around this behavior if you have multiple application pools that run under different domain user accounts, you must force IIS to use NTLM as your authentication mechanism if you want to use Integrated Windows authentication only. 

Нужно из папки C:\Inetpub\Adminscripts выполнить:

cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
Показать все комментарии

Здравствуйте,дорогие читатели моего блога.

Сегодня я хочу рассмотреть некоторые особенности настройки Web-формы Terrasoft Service Desk .

В основном все сводится к правильной настройки IIS. В документации «Руководства администратора» довольно подробно описано как сделать настройку IIS для разных версий: 6.0 (Windows Server 2003) и 7.0(Windows Vista, Windows Server 2008). Существуют, конечно, еще такие версии как 5.1 (Windows XP) и 7.5 (Windows 7, Windows Server 2008 R2), но основные отличия начинаются при переходе с 6-той на 7-мую версию.

Итак, на повестке дня следующий вопрос: «Как увеличить таймаут работы Web-формы?» Часто от пользователей появлялись пожелания увеличить на Web-форму таймаут в N часов. В настройках IIS по умолчанию сессия Web-формы существует только 20 минут, потом, при любых действиях, пользователя "выбрасывает" на страницу с логином, где приходится заново логиниться. Т.е. работая в Web-форме пользователю неудобно постоянно вводить свой логин и пароль, стоит ему отвлечься на 20 минут.

Хочу отметить, что Microsoft советует уменьшать таймаут:

«Если для приложения разрешено состояние сеанса, пользователь получает уникальный идентификатор сеанса при первом запросе веб-страницы у приложения ASP. По умолчанию срок действия сеанса заканчивается, если пользователь не запрашивает или не обновляет страницу в приложении ASP в течение 20 минут. Так как объекты сеанса занимают память веб-сервера, можно рассмотреть возможность уменьшения значения тайм-аута для сбережения ресурсов.»

Но для меня главным является удобство пользователя. Поэтому таймаут я буду увеличивать. Кстати, там написано как изменять этот параметр, но написано довольно скудно. Я постараюсь более подробно и полно описать процесс настройки.

  • У меня уже есть готовая настроенная Web-форма на IIS 7.0. Вот как выглядит настроенный сайт в диспетчере сервера
  • А это окно логина в запущенной Web-форме
  • И, собственно, сама Web-форма в действии. Для примера, список инцидентов
  • Теперь покажу где установлен таймаут. Становлюсь на службу IIS в диспетчере служб, выбираю внизу «Просмотр возможностей» (по умолчанию эта вкладка уже активна)
  • Выбираю ASP в списке возможностей
  • Далее в действиях нажимаю на ссылку «Открытие функции» или двойное нажатие на ASP
  • В группе службы разворачиваю «Свойства сеанса»
  • Время сеанса установлено в 20 минут. Ставлю, например, 10 часов: 10:00:00. В правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений

  • Приметка: По информации с сайта Microsoft эту же операцию можно сделать в командной строке с помощью команды appcmd. Сначала у меня не получилось. Но потом, немного поискав, нашел нужную комбинацию параметров. Для моего случая это будет выглядеть так: %windir%\system32\inetsrv\appcmd set config /section:asp /session.timeout:10:00:00. Отмечу, что для 64-битной системы нужно вместо system32 писать syswow64.

  • После этого нужно настроить состояние сеанса. Становлюсь на мою Web-форму и выбираю «Состояние сеанса» в списке возможностей
  • Перехожу внутрь двойным щелчком мыши и нахожу ниже «Параметры файла cookie» -> «Тайм-аут (в минутах)»
  • Изменяю значение на 600, что значит 10 часов и в правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений
  • И последнее, нужно настроить таймаут простоя пула приложений. Для начала узнаю на какой пул приложений настроена моя Web-форма. Становлюсь на Web-форму
  • В разделе «Действия» нажимаю «Основные настройки...» – вижу, что для моей Web-формы установлен стандартный (устанавливаемый по умолчанию) пул приложений «DefaultAppPool». Закрываю это окно без изменений.
  • В диспечеру служб выбираю «Пулы приложения» и нахожу нужный мне пул
  • Выбираю «Дополнительные параметры» в разделе «Действия» и нахожу «Тайм-аут простоя (в минутах)»
  • Устанавливаю значение в 600, что соответсвует 10 часам, и нажимаю кнопку OK
  • Для того, чтобы все изменения вошли в силу – перезагрузагружаю IIS. Становлюсь на IIS в диспетчере служб и в разделе «Действия» выбираете «Перезагрузить». Хотя, как показывает практика, если при каждом изменении нажимать в действиях на «Применить» – то изменения уже вступили в действие и для всех пользователей, которые войдут на сайт Web-формы, будут действовать уже новые параметры.

Если есть какие-то вопросы – задавайте, с удовольствием отвечу.
Продолжение для IIS 6.0 читайте тут.

Нравится

Поделиться

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

У меня система BPMonline Realty 5.
Сделала описанные выше настройки на своем сервере.
Помимо вышеуказанного, сделала изменения в настройках в файле web.config
Тем не менее, по прохождению времени пользователя из системы не выкидывает.:confused:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный
system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

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

Таймаут пула в IIS:

"Резвов Роман" написал:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный

system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

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

Таймаут пула в IIS:

С уважением,

Роман Резвов

Специалист службы поддержки II линии

Группа компаний Terrasoft


Роман, так и делала. Для теста указала:
авторизационный - 3мин
сессионный - 5мин
В пуле - 5мин.
Инструкцию как делала, прикрепила.

Антонина, существует два Web.config: в корне бинарных файлов и в папке Terrasoft.WebApp. Необходимо вносить изменения именно в корневой Web.config.

Несмотря на "Хочу обратить Ваше внимание, что данный параметр будет применен для всех сайтов запущенных на IIS сервере." попробуйте, пожалуйста, установить таймаут одному конкретному пулу.

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

Особенности настройки веб формы на Windows Server 2003.

Добавляем специального пользователя с правами админа и указываем его в качестве пользователя, от имени которого работает ApplicationPull, к которому относится веб-форма. В профиле этого пользователя будет храниться кеш и все остальное.

Кроме того в RunSettings.xml вписываем:
----------------------------

xml version="1.0" encoding="UTF-8"?>
Settings>
            RunSettings UserSettingsDirectory="C:\Program Files\TSCRM Web Form 3.3\Settings" SessionUserName="" SessionPassword=""/>

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

Нравится

Поделиться

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

Сообщение "Catastrofic Falure" при попытке регистрации пользователя или входе.
IIS 6.0 Eng.
1. смотрим пользователя который указан в: "Окно Properties сайта\директории веб формы"."Закладка Directory Security"."группа Authentication and access control"."кнопка Edit" там IIS указал своего пользователя - запомним его. - IIS создает своего пользователя.
2. даем полный доступ этому пользователю из пункта 1 на директорию, где у нас находится веб форма. Это будет пользователь локальной машины а не домена, так что искать его надо как локального пользователя.
3. Смотрим ApplicationPool в тех же свойствах сайта\директории веб формы. Ищем этот пул в Application pools в IIS-е "Окно Properties этого пула"."закладка Identity"."Predefined" = указать "Local System" В зависимости от установленного IIS указанные данные могут находиться в других настройках, или по-другому называться.
Думаю можно настроить и на использование пользователя домена в случае необходимости или же ограничить этому пользователю права - это пока не проверялось.

Нравится

Поделиться

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

Спасибо, информация полезная!
Как по мне, то этот блог необходим объединить с этим: http://community.terrasoft.ua/blogs/3600

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

Не знаю уже к кому обратиться. Таже самая проблема была с 64битной версией Win2k3. Техподдержка сказала что проблема в 64битной винде и они поправят, но на 32 битной все должно работать, что у меня не получается. Проблема следующая: Развернул сервер сессий на Windows 2003 Server 32 бит. Сборка 3.3.0.53 SQL на другом сервере. Установил IIS 6.0. Установил Framework 2.0 sp1 Framework 3.0 Framework 3.5 Получил лицензии. Настроил web.config Настроил виртуальную директорию. Указал ASP.NET 2.0.50727 При подкоючении отображается список файлов в каталоге. Запускаю Login.aspx. Загружается Вебформа. Нажимаю "Регистрация". Все нормально. Заполненяю форму, в Terrasoft появляется заявка на регистрацию. Но при попытке войти выдается: "Ошибка: В экземпляре объекта не задана ссылка на объект" Причем неважно какой логин пароль ты вводишь. Кто нибудь сталкивался с такой проблемой?

Нравится

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

А какая у вас версия и номер сборки

Здравствуйте!
1. Вы дорабатывали свою конфигурацию?
2. Можете попробовать на чистой базе из инсталяции 3.3.0.53?

1. Да.
2. Чистая база есть только 3.3.0.24. Но ее нужно будет заного лицензировать.

"Александр Кравчук" написал:2. Можете попробовать на чистой базе из инсталяции 3.3.0.53?

Александр, у Сергея специальные (веб) лицензии загружены на отдельный сервер сессий. Сервер продуктивный. Была создана отдельная БД, а в ней, с помощью скрипта, соответствующая таблица.
После этого и некоторых дополнительных манипуляций удалось получить количество активных веб-пользователей и свободных лицензий.

Не повредит ли подобное тестирование этот сервер?
Стоит ли создавать пользователей, контакты и заказывать лицензии для "чистой" конфигурации?

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