Авторизация группы AD - пользователь не авторизован - PullRequest
1 голос
/ 05 января 2020

С отличная помощь Кажется, у нас есть LDAP на нашей внутренней вики (работающей на виртуальной машине Debian 10) в нашем локальном windows домене (abc.local). Я хочу, чтобы все пользователи домена могли редактировать вики. Когда я пытаюсь войти в вики с тестовой учетной записью (rjsmith), я получаю User rjsmith not authorized.. Если я намеренно вставил неправильный pwd для rjsmith, я получу Could not authenticate credentials against domain "abc.local".

Вот встроенная функция LDAP из моих LocalSettings. php:

$LDAPProviderDomainConfigProvider = function()
{
        $config =
        [
        "abc.local" =>
                [
                "connection" =>
                        [
                        "server" => "5.5.5.5",
                        "user" => "Administrator@abc.local",
                        "pass" => "password",
                        "basedn" => "dc=abc,dc=local",
                        "groupbasedn" => "dc=abc,dc=local",
                        "userbasedn" => "dc=abc,dc=local",
                        "searchattribute" => "samaccountname",
                        "searchstring" => "USER-NAME@abc.local",
                        "usernameattribute" => "samaccountname",
                        "realnameattribute" => "cn",
                        "emailattribute" => "mail",
                        "grouprequest" => "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::factory"
                        ],
                        "authorization" =>
                        [
                                "rules" =>
                                [
                                "groups" =>
                                        [
                                        "required" => [ "cn=Users,dc=abc,dc=local" ]
                                        ]
                                ]
                        ],
                        "userinfo" =>
                        [
                                "email" => "mail",
                                "realname" => "cn",
                                "properties.gender" => "gender"
                        ]
                ]
        ];
        return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );
};

Что мне нужно, чтобы любой пользователь домена в группе Domain Users (ab c .local / Users) может получить доступ к вики?

спасибо, russ

1 Ответ

0 голосов
/ 08 января 2020

Да! Даже слепая белка находит гайки время от времени! Все заработало!

Из-за большого количества проб и ошибок я вынужден был просто изменить раздел "groups" на "group" => "Users". Если бы я хотел еще больше ограничить его, я мог бы создать новую группу доменов WikiUsers и включить в нее избранных пользователей. Тогда мне нужно установить "group" => "WikiUsers" ниже. Но я хочу, чтобы у любого пользователя локального домена был доступ, поэтому то, что у меня есть ниже, идеально.

Кроме того, я внес еще одно изменение в конфигурацию, показанную в моем вопросе выше. Я создал обычного пользователя домена, у которого нет никаких прав, кроме входа в систему (readonly@abc.local), поэтому мне не нужно использовать учетную запись администратора, отправляющую pwd в открытом виде.

$LDAPProviderDomainConfigProvider = function()
{
        $config =
        [
        "abc.local" =>
                [
                "connection" =>
                        [
                        "server" => "5.5.5.5",
                        "user" => "readonly@abc.local",
                        "pass" => "password",
                        "basedn" => "dc=abc,dc=local",
                        "groupbasedn" => "dc=abc,dc=local",
                        "userbasedn" => "dc=abc,dc=local",
                        "searchattribute" => "samaccountname",
                        "searchstring" => "USER-NAME@abc.local",
                        "usernameattribute" => "samaccountname",
                        "realnameattribute" => "cn",
                        "emailattribute" => "mail",
                        "grouprequest" => "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::fa$
                        ],
                        "authorization" =>
                        [
                                "rules" =>
                                [
                                "group" => "Users",
                                ]
                        ],
                        "userinfo" =>
                        [
                                "email" => "mail",
                                "realname" => "cn",
                                "properties.gender" => "gender"
                        ]
                ]
        ];

        return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );
};
...