16.10.2015, 17:59 | #1 |
Участник
|
При отключении доступа к .Net Business Connector все равно удается подключиться к AX
Добрый день!
Не могу разобраться с настройкой доступа к AX внешнему приложению на C# через .Net Business Connector. Версия AX 2009 SP1. Для доступа к Аксапте извне в домене заведен новый пользователь. Для пользователя создана группа прав, которой в правах доступа включен полный доступ ко всем узлам Business Connector (как к основному, так и ко вложенным) Логин и домен пользователя прописаны в Администрирование -> Настройка -> Контроль доступа - > Системные служебные счета -> в группе полей Business Connector Proxy. Подключение внешнего приложения проходит успешно, данные таблиц Аксапты доступны. Отключаю в группе прав, к которой принадлежит пользователь, доступ ко все узлам Business Connector (как к основному, так и ко вложенным). Подключение все равно происходит, данные таблиц Аксапты доступны! Замечу, что оба раза в активных пользователях появляется пользователь Business Connector, а в гриде 2 пользователя: один с типом сеанса Рабочий, другой с типом сеанса Business Connector. После выполнения кода оба пользователя пропадают, и в активных пользователях нет пользователя Business Connector. При этом если я пытаюсь присоединиться в Аксапте через ax.Logon() под своим текущим пользователем, то настройка отключения доступа к Business Connector работает. В первом случае удается подключиться, во втором нет. Кто-нибудь сталкивался с подобным? Не могу никак разобраться, что я не так делаю. Привожу, как пример, код, который при нажатии на кнопку выводит в окне формы код номенклатуры. Код: System.Net.NetworkCredential login; String inventItemIdField = "ItemId"; Object inventItemId; using (Axapta ax = new Axapta()) { try { login = new System.Net.NetworkCredential("test", "test"); ax.LogonAs("test", "test.ru", login, "aaa", "ru", "axapta-01.test.ru:2712", ""); // ax.Logon("aaa", "ru", "axapta-01.test.ru:2712", null); AxaptaRecord axRecord = ax.CreateAxaptaRecord("InventTable"); axRecord.ExecuteStmt( "select * from %1"); axRecord.Next(); inventItemId = axRecord.get_Field(inventItemIdField); richTextBox1.Text = (string)inventItemId; ax.Logoff(); } catch (Exception excep) { richTextBox1.Text = excep.Message; ax.Logoff(); } } |
|
Теги |
logonas, интеграция, business connector |
|
|