NTLM authentication on Linux server. (Прозрачная аутентификация в Redmine на Linux) – Redmine

Apache

Устанавливаем web-сервер Apache:

#apt-get install apache2

Основная причина, по которой используется «Apache» — это наличие модуля для прозрачной аутентификации в домене «Windows». Мы изначально хотели упростить использование «Redmine». Отсутствие необходимости вводить пароль дважды было большим плюсом.

Сразу настроим виртуальные хосты «Apache». Сперва, настраиваем виртуальные хосты без поддержки «Ruby». Просто чтобы проверить, что «Apache» работает корректно и настроить модуль прозрачной аутентификации в домене «Windows».

Создаем папку где будет лежать дистрибутив «Redmine»:

#mkdir /usr/share/srv-redmine/redmine-2.3

Создаем ссылку из каталога «/var/www» (каталога, в котором обычно лежат сайты «Apache») на папку с нашим будущим дистрибутивом «Redmine»:

#ln -s /usr/share/srv-redmine/redmine-2.3 /var/www/srv-redmine


Создаем файл виртуального хоста:

#touch /etc/apache2/sites-available/redmine

Заполняем файл следующим содержимым (конфигурируем виртуальный хост):

Deploy & test¶

Save your new class in app/model/ and restart Redmine.

Implement your authsource subclass¶

Create a new file for your

AuthSource

subclass in

app/models/

, following the naming scheme of the existing

auth_source.rb

and

auth_source_ldap.rb

  • Here we’ll use app/models/auth_source_my_custom_app.rb

Implement the class such that a call to its authenticate() method will contact the other database and use the table there to check the provided login credentials. The values in your auth_sources table record above are available via instances variables (e.g. self.host, self.base_dn, self.attr_firstname).

Here’s our commented class:

Implementing an alternative authentication source¶

This article assumes the alternative authentication involves querying a table (or tables) in some other database. However, the approach can be generalized to authenticate against pretty much anything else (some secret file, some network service, whatever fun scenario you have); you may want to examine the Redmine code in app/models/auth_source_ldap.rb for a non-database alternative authentication example.

Insert a sensible auth_sources record¶

First, we should decide what our auth_sources record will look like. Redmine core and our AuthSource subclass code will make use of that info, so it’s good to figure this out up front.

For reference, here is the (Redmine 2.4.1) auth_sources table:

 ------------------- -------------- ------ ----- --------- ---------------- 
| Field             | Type         | Null | Key | Default | Extra          |
 ------------------- -------------- ------ ----- --------- ---------------- 
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| type              | varchar(30)  | NO   |     |         |                |
| name              | varchar(60)  | NO   |     |         |                |
| host              | varchar(60)  | YES  |     | NULL    |                |
| port              | int(11)      | YES  |     | NULL    |                |
| account           | varchar(255) | YES  |     | NULL    |                |
| account_password  | varchar(255) | YES  |     |         |                |
| base_dn           | varchar(255) | YES  |     | NULL    |                |
| attr_login        | varchar(30)  | YES  |     | NULL    |                |
| attr_firstname    | varchar(30)  | YES  |     | NULL    |                |
| attr_lastname     | varchar(30)  | YES  |     | NULL    |                |
| attr_mail         | varchar(30)  | YES  |     | NULL    |                |
| onthefly_register | tinyint(1)   | NO   |     | 0       |                |
| tls               | tinyint(1)   | NO   |     | 0       |                |
| filter            | varchar(255) | YES  |     | NULL    |                |
| timeout           | int(11)      | YES  |     | NULL    |                |
 ------------------- -------------- ------ ----- --------- ---------------- 

This schema has been relatively stable, although older Redmine versions may be missing the last 2 columns (e.g. Redmine 0.9 doesn’t have them).

Похожее:  Как восстановить потерянные логин и пароль от Сбербанк-онлайн |

How our

AuthSource

subclass code will make use of these fields is more-or-less up to us, but there are two key constraints from Redmine:

    type must be the name of your AuthSource subclass

    • Redmine will use this field to instantiate your class and call its authenticate() method when attempting to authenticate a login attempt using your custom source.
    • This class name should begin with AuthSource.
    • We’ll put “AuthSourceMyCustomApp

    onthefly_register has a 1 or 0

Here’s how we’ll use these fields (substitute your own values):

Note: The attr_* fields are not always needed. They are used by the LDAP authentication source to map LDAP attributes to Redmine attributes. I recommend using them, however, since they make the authentication() code more widely applicable (fewer changes necessary for you to use the code in your specific situation).

So we insert the record into our Redmine’s (v2.4.1) auth_sources table with SQL like the following:

Joomla¶

We’ve customized the code to integrate Redmine with Joomla. Please, check the attachment to review an implementation for Joomla 2.5 and Redmine 2.0.3.

Mysql (mariadb)


Устанавливаем сервер баз данных «Mysql».

«MySQL» подустарел, поэтому лучше ставить его форк «MariaDB». На каком-то этапе мы переехали с первого на второе, не испытав проблем. С точки зрения установки и настройки для обоих серверов баз данных все примерно одинаково.

#apt-get install mysql-server

Соединяемся с сервером с паролем, введенным на этапе установки:

#mysql -uroot -pour_password


Создаем пустую базу данных для Redmine и назначаем привилегии:

Ntlm authentication on linux server. (прозрачная аутентификация в redmine на linux) – redmine

Hello

I would like to know whether it is possible to implement NTLM authorization on a Linux server. LDAP (AD) – works, but I would like to get rid of the login page, So that people will not need to enter their Login – Password. Is that possible?

My system: CentOS 6, Apache 2.2.15, Redmine 2.5.2.stable


Здравствуйте.

Я хотел бы узнать, можно ли реализовать NTLM авторизацию (Прозрачная авторизация) если Redmine стоит на Linux сервере. LDAP (AD) – работает, но я хотел бы, избавиться от страницы входа, так, чтобы людям не приходилось вводить логин – пароль. Это возможно?

Моя система: CentOS 6, Apache 2.2.15, Redmine 2.5.2.stable

.

Passenger

«Passenger» — это модуль «Apache», который позволяет запускать Ruby-приложения. «RVM» позволяет скомпилировать «Passenger» для определенного джемсета. После компиляции, «RVM» посоветует как подключить «Passenger» к «Apache».

Redmine

Берем свежую версию «Redmine» из SVN-репозитория. SVN-клиетнт может быть не установлен в «Ubuntu». Тогда нужно его установить.

Redmine support for alternative authentication¶

Redmine has specific support for alternative/custom authentication which makes implementing it very easy.

    • You will add a record here specific to your custom authentication.
    • You will create your own subclass of this, and implement the authenticate() method.

Redmine’s authentication process is along these lines (LDAP & OpenID assumed to be disabled):

Аутентификация в redmine через доменные учетные записи — реальные заметки ubuntu & mikrotik

Помнится мне на одной из работ в Redmine я заходил используя свою доменную учетную записьи пароль — удобно, не нужно на работе запоминать множество сложных паролей, а лишь используя один единственный авторизоваться в обслуживаемых сервисах и системах. Так вот система управления проектами позволяет помимо встроенного заведения пользователей с логином и паролем добавить еще и возможность идентифицироваться с домен контроллера. И вот этой настройке и будет посвящена текущая заметка. Только ориентирована она будет на мою ранее опубликованную где была в подробных шагах для себя задокументирована как развернуть: Ubuntu 14.04.4 Server amd64 Redmine 3.2.0 — очень надеюсь, что авторизация в домене не будет отваливаться, как: Ubuntu 12.04.5 Server amd64 redmine 1.3.2.

Сперва подготовимRedmineк аутентификации:

http://ip&dns/redmine — auth&pass (admin&admin) — Администрирование — Настройки — вкладка «Аутентификация»:

Необходима аутентификация:отмечаю галочкой

Автоматический вход:отключено

Саморегистрация:активировать учетные записи вручную

Разрешить пользователям удалять свои учетные записи:снимаю галочку

Минимальная длина пароля:8 символов

Требовать сменить пароль по истечении:отключено

Восстановление пароля:отмечаю галочкой

Максимальное количество дополнительныхemailадресов:оставляю по умолчанию значение равным пяти

РазрешитьOpenIDдля входа и регистрации: снимаю галочку

Максимальная продолжительность сессии:отключено

Таймаут сессии:отключено

По окончании не забываем нажать кнопку «Сохранить»

И так переходим к созданию нового режима авторизации вRedmine:

http://ip&dns/redmine — auth&pass (admin&admin) — АдминистрированиеАвторизация с помощью LDAPНовый режим аутентификации

Имя:ad

Компьютер:10.7.8.168 -> IP-адрес домен контроллера

Порт: 389

Учетная запись:aollo@nemdomb.local -> учетная запись с правами Domain Admin

Пароль:<очень_секретный_пароль>

BaseDN:CN=Users,DC=nemdomb,DC=local

Таймаут (в секундах):5

Создание пользователя на лету:отмечаю галочкой

Атрибут Login:samaccountname

Имя:givenname

Фамилия:sn

email:mail

После создания режима нажимаю «Cохранить» и на зеленом фоне появляется уведомление: — Создание успешно. — значит оно действительно так и прошло успешно (если было бы красным уведомление, то нужно было бы искать ошибку).

Теперь создаю пользователя, к примеру alektest и в режиме аутентификации вместо внутреннего через список нахожу созданное выше на взаимосвязь с Active Directory именуемое, как ad и нажимаю кнопку «Создать и продолжить». Уведомление также на зеленом фоне: Пользователь alektest создан.

С другого компьютера авторизовываюсь в Redmine под учетной записью alektest (доменная) и все проходит успешно. Отлично работает, а не то что было в версии redmine 1.3.2 — все должно работать сразу и без напильника. На этом я прощаюсь и до новых заметок, с уважением автор блога — ekzorchik.

Модуль прозрачной аутентификации в домене

Печально, но такого модуля под «ngix» мы так и не нашли. Наверное, по этой причине, до сих пор используем «Apache».

Качаем модуль, распаковываем куда-нибудь. Я обычно распаковываю в домашнюю директорию:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован.

Adblock
detector