|
29.04.2015, 18:39 | #1 |
Участник
|
АХ 2012 пускает пользователя, когда он исключен из AD
1) Заводим пользователя в группу "AX users" в AD
2) Назначаем ему права в АХ 3) убираем пользователя из AD По идее, пользователь вообще теперь не должен иметь права в АХ, т.к. приоритет у AD должен быть выше, но почему-то пользователь может зайти в АХ все равно. Как исправить? Что проверить? Несколько месяцев назад обновили АХ до CU7. Может быть что-то изменилось? Вроде бы раньше такого не было... Всем заранее благодарен за помощь. |
|
29.04.2015, 20:04 | #2 |
Участник
|
А как пользователь вообще в windows залогинился?
|
|
|
За это сообщение автора поблагодарили: DSPIC (5). |
29.04.2015, 21:26 | #3 |
Участник
|
это нормально, например, если я к сети доменной не подключен, то я могу залогиниться на комп, даже если AD сервер недоступен (и потом зайти в AX)
мне кажется, AX тут ни при чем, это винда так работает. |
|
29.04.2015, 22:03 | #4 |
Участник
|
А в момент логина разве нельзя проверять что пользователь не исключен из АД ?
Так что легко можно починить. Но глюк прикольный. |
|
29.04.2015, 22:22 | #5 |
Участник
|
Цитата:
Цитата:
Так что если вы подключились к одному DC, произвели изменения в группе пользователей, а затем сразу запустили клиента АХ и подключились к АОСу, который работает с другим DC, то вполне логично, что АОС оказывается еще "не в курсе", что в доступе пользователю должно быть отказано. Утилиты работы с AD, вроде оснастки "AD Users and Computers" или ADSIEdit, умеют подключаться к произвольному DC. Запросы от обычных приложений вроде АОСа идут к какому-то одному DC на усмотрение виндов на локальном хосте. Если вы залогинились на такой хост, можно для простоты посмотреть имя DC в переменной окружения LOGONSERVER. |
|
30.04.2015, 04:59 | #6 |
Участник
|
Цитата:
Сообщение от gl00mie
Переведите, что именно означает третий пункт.Сколько у вас доменных контроллеров (DC)? Какой из них использует хост АОСа, к которому подключается пользователь? К какому из них подключаетесь вы для манипуляций с группой пользователей? AD - это, кроме прочего, распределенная база данных, реплики которой хранятся локально на каждом DC. Изменения, сделанные на одном контроллере, распространяются по другим постепенно, обычный интервал обмена изменениями - 15 минут. Исключение составляют блокировка пользователя и изменение пароля - такие изменения DC стараются распространить сразу же.
Так что если вы подключились к одному DC, произвели изменения в группе пользователей, а затем сразу запустили клиента АХ и подключились к АОСу, который работает с другим DC, то вполне логично, что АОС оказывается еще "не в курсе", что в доступе пользователю должно быть отказано. Утилиты работы с AD, вроде оснастки "AD Users and Computers" или ADSIEdit, умеют подключаться к произвольному DC. Запросы от обычных приложений вроде АОСа идут к какому-то одному DC на усмотрение виндов на локальном хосте. Если вы залогинились на такой хост, можно для простоты посмотреть имя DC в переменной окружения LOGONSERVER. Я понял Ввше предположение и в курсе, что нужно время на обмен Но я смог зайти и через сутки . Сутки обмен явно не должен длится , поэтому к сожалению пока тоже вариантов нет ... |
|
30.04.2015, 08:58 | #7 |
Гость
|
Пользователь в аксапте как мне кажется, с группами пользователей AD не особо соотносится, после создания.
>Как исправить? Что проверить? Как ту советовали: проверять при входе, следует правда помнить что обращение к AD за информацией порой тормозит (можно наверное чтобы не отягащать пользователя ожиданием делать в отдельном потоке). Последний раз редактировалось axm2013; 30.04.2015 в 09:35. |
|
30.04.2015, 09:17 | #8 |
Участник
|
Цитата:
Сообщение от igortsk
1) Заводим пользователя в группу "AX users" в AD
2) Назначаем ему права в АХ 3) убираем пользователя из AD По идее, пользователь вообще теперь не должен иметь права в АХ, т.к. приоритет у AD должен быть выше, но почему-то пользователь может зайти в АХ все равно. Всем заранее благодарен за помощь.
__________________
Ivanhoe as is.. |
|
30.04.2015, 09:59 | #9 |
Administrator
|
Попробовал смоделировать ситуацию.
Сразу скажу - выключение пользователя из группы в АD применяется только при следующем входе пользователя в систему (не коннект /дисконнект для терминалки, а именно логофф/логон). Т.о. если вы дали в Windows пользователю права админа, а потом их отняли - то пока пользователь не перезайдет в систему - у него права не отберутся. И никто даже не чухнется, что права изменились. Важно: Речь идет не об отключении пользователя в AD, а именно об исключении его из группы. Если при создании нового пользователя в АХ указать, что это не пользователь, а группа пользователей в AD, то система создаст запись в таблице пользователей в АХ и позволит на эту запись назначить те или иные права. Когда пользователь из АD, входящий в группу пользователей, которую мы завели в АХ попытается зайти в систему - ему будет присвоен некий код пользователя, назначенный системой (в моем случае - это $E971). При этом автоматически будет создана запись в таблице пользователей в АХ и этот пользователь получит все те права, которые мы назначили на группу пользователей. Т.о. выведение пользователя из группы AD не удалит запись о пользователе в таблице пользователей АХ и он будет иметь возможность заходить в АХ. Единственное, что - он не будет иметь прав, т.к. права ему копируются с прав той группы пользователей, которую мы завели. Т.о. в систему он войдет, но прав дальше ни на что он иметь не будет. Соответственно, в случае топикстартера - скорее всего информация о том, что пользователь состоит в AD-шной группе "не дошла" до AX и поэтому она назначает ему права. Тем не менее - ошибка о том, что пользователь не существует - все равно выдаваться не будет до тех пор, пока вручную не будет прибита / отключена запись с этим пользователем ($E971)
__________________
Возможно сделать все. Вопрос времени |
|
01.05.2015, 10:49 | #10 |
Участник
|
Правильно ли я Вас понял, что если я:
1) импортирую пользователя из AD в АХ 2) Назначаю ему группу прав 3) по какой-то причине решаю вообще запретить ему доступ в АХ мне не достаточно теперь просто исключить его из группы в актив директори, но еще и в АХ надо зайти и из группы пользователей в АХ его убрать (тогда он в систему будет заходить), а если хочу чтоб вообще не заходил - только полностью из АХ мочить пользователя? А как-то автоматизировать нельзя? Чтобы из одного места удалил из АД например и все? |
|
01.05.2015, 10:58 | #11 |
Участник
|
По поводу WINDOWS и применения настроек АД:
а если я захожу под пользователем тест из под другого пользователя (своего) в АХ, используя "шифт+зайти от имени др. пользователя"? (В это время под пользователем "тест" никто не сидит). По идее мой выход из АХ в данном случае можно рассматривать как логоф и возможность АД применить изменения? Вот что интересного произошло: Итак, прошло пару дней и мне понадобилось перезагрузить все АОС. Я это сделал. После этого проверяю своего пользователя (тестового) на всякий случай, которого 2 дня назад убрал из АД. При заходе в АХ теперь сообщение "не удалось войти в Microsoft dynamics"! Т.е. то, что мне и было нужно. Вопрос как это произошло? Ведь я 2 суток ничего не делал, а лишь перезагрузил АОС. Не кешируется ли что-то на стороне АОС по правам на столько, что это ничем кроме рестарта не выбить?? Если это кэш какой-то, как его чистить во время работы АОС? Цитата:
Сообщение от sukhanchik
Попробовал смоделировать ситуацию.
Сразу скажу - выключение пользователя из группы в АD применяется только при следующем входе пользователя в систему (не коннект /дисконнект для терминалки, а именно логофф/логон). Т.о. если вы дали в Windows пользователю права админа, а потом их отняли - то пока пользователь не перезайдет в систему - у него права не отберутся. И никто даже не чухнется, что права изменились. Важно: Речь идет не об отключении пользователя в AD, а именно об исключении его из группы. Если при создании нового пользователя в АХ указать, что это не пользователь, а группа пользователей в AD, то система создаст запись в таблице пользователей в АХ и позволит на эту запись назначить те или иные права. Когда пользователь из АD, входящий в группу пользователей, которую мы завели в АХ попытается зайти в систему - ему будет присвоен некий код пользователя, назначенный системой (в моем случае - это $E971). При этом автоматически будет создана запись в таблице пользователей в АХ и этот пользователь получит все те права, которые мы назначили на группу пользователей. Т.о. выведение пользователя из группы AD не удалит запись о пользователе в таблице пользователей АХ и он будет иметь возможность заходить в АХ. Единственное, что - он не будет иметь прав, т.к. права ему копируются с прав той группы пользователей, которую мы завели. Т.о. в систему он войдет, но прав дальше ни на что он иметь не будет. Соответственно, в случае топикстартера - скорее всего информация о том, что пользователь состоит в AD-шной группе "не дошла" до AX и поэтому она назначает ему права. Тем не менее - ошибка о том, что пользователь не существует - все равно выдаваться не будет до тех пор, пока вручную не будет прибита / отключена запись с этим пользователем ($E971) Последний раз редактировалось igortsk; 01.05.2015 в 11:03. |
|
01.05.2015, 14:42 | #12 |
Administrator
|
Цитата:
Сообщение от igortsk
Правильно ли я Вас понял, что если я:
1) импортирую пользователя из AD в АХ 2) Назначаю ему группу прав 3) по какой-то причине решаю вообще запретить ему доступ в АХ мне не достаточно теперь просто исключить его из группы в актив директори, но еще и в АХ надо зайти и из группы пользователей в АХ его убрать (тогда он в систему будет заходить), а если хочу чтоб вообще не заходил - только полностью из АХ мочить пользователя? А как-то автоматизировать нельзя? Чтобы из одного места удалил из АД например и все? Давайте по порядку. 1. Вы импортируете пользователя из AD в AX. Какие роли в АХ при этом Вы ему назначаете? Нельзя проимпортировать без указания хоть какой-то роли. 2. Или Вы заводите группу AD, как пользователя в АХ (указываете в АХ, что этот пользователь есть группа из AD)? Тогда на эту группу в АХ Вы вешаете роли. И тогда АХ сама создаст пользователя, когда он попытается зайти, если он входит в эту группу в АD. AD тут вообще ни при чем. AD нужен лишь для того, чтобы сгруппировать пользователей. Так все-таки - опишите - что Вы делаете? Цитата:
1. Исключить его в оснастке AD 2. Сделать логофф пользователю, если он был залогинен. Если Вы не сделали п.2 - то Вы не исключили из AD. И еще момент. В предыдущих версиях такой возможности (создания группы AD, как пользователя АХ) вообще не было. Если Вы сравниваете функциональность с предыдущей версией - то это несравнимо. Цитата:
Сообщение от igortsk
По поводу WINDOWS и применения настроек АД:
а если я захожу под пользователем тест из под другого пользователя (своего) в АХ, используя "шифт+зайти от имени др. пользователя"? (В это время под пользователем "тест" никто не сидит). По идее мой выход из АХ в данном случае можно рассматривать как логоф и возможность АД применить изменения? Тут логика такая - если Вы исключили пользователя из группы в AD - то пользователь изменение почувствует только после того, как он вновь залогинится (сделает логон). Если пользователь был уже залогинен - ему нужно перезайти. Если пользователь был залогинен на 100500 компьютерах - то на этих компьютерах пока он не перезайдет - изменения не применятся. Если он не был залогинен на 100501-м компьютере - то там изменения он почувствует сразу. Цитата:
Сообщение от igortsk
Вот что интересного произошло:
Итак, прошло пару дней и мне понадобилось перезагрузить все АОС. Я это сделал. После этого проверяю своего пользователя (тестового) на всякий случай, которого 2 дня назад убрал из АД. При заходе в АХ теперь сообщение "не удалось войти в Microsoft dynamics"! Т.е. то, что мне и было нужно. Вопрос как это произошло? Ведь я 2 суток ничего не делал, а лишь перезагрузил АОС. Не кешируется ли что-то на стороне АОС по правам на столько, что это ничем кроме рестарта не выбить?? Если это кэш какой-то, как его чистить во время работы АОС? Типичная ситуация у пользователя - когда у него истек срок действия пароля, но он еще не перезашел в Windows. У него начинают отваливаться все сетевые ресурсы.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 02.05.2015 в 13:01. |
|
06.05.2015, 13:52 | #13 |
Участник
|
Еще раз подробнее описываю свои действия:
1) импортирую пользователя из АД в АХ, назначаю любые роли (одну или несколько) 2) НЕ добавляю его в группу АД в оснастке, которая разрешает вход в АХ 3) Пользователь может заходить в АХ несмотря на тот факт, что в группу пользователей в АД, имеющих доступ к АХ он не включен. Что хочу: -создавать пользователя, давать ему любые роли, но пока не добавлю его в группу в АД, не давать ему заходить в АХ. Централизация управления. |
|
06.05.2015, 14:30 | #14 |
Administrator
|
Цитата:
Сообщение от igortsk
Еще раз подробнее описываю свои действия:
1) импортирую пользователя из АД в АХ, назначаю любые роли (одну или несколько) 2) НЕ добавляю его в группу АД в оснастке, которая разрешает вход в АХ 3) Пользователь может заходить в АХ несмотря на тот факт, что в группу пользователей в АД, имеющих доступ к АХ он не включен. Что хочу: -создавать пользователя, давать ему любые роли, но пока не добавлю его в группу в АД, не давать ему заходить в АХ. Централизация управления. Что надо сделать: Не надо импортировать пользователя из AD в АХ. Надо создать пользователя в АХ, как группу в AD и назначить ей роли. И до тех пор, пока пользователь не будет включен в группу в AD - у него не появится никаких прав. А после выкидывания его из группы в AD - нужно завершить везде все его активные сессии
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2015 в 14:32. |
|
03.05.2015, 09:38 | #15 |
Участник
|
Вот тут описано, как оно в теории должно работать: Using windows AD groups for user management in Dynamics AX 2012
|
|
07.05.2015, 23:14 | #16 |
Участник
|
Не надо менять тип ваших 500 пользователей - это бессмысленно, потому что тип пользователя в Аксапте должен соответствовать типу объекта в AD. По приведенной ссылке описан предположительно ваш случай:
Последний раз редактировалось gl00mie; 07.05.2015 в 23:18. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
08.05.2015, 09:41 | #17 |
Участник
|
Спасибо огромное всем, вопрос закрыт
|
|
|
|