|
|
#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 |
|
|
|