изменить страницу входа в OpenStack Horizon

Мне нужно изменить поведение страницы входа в OpenStack. Я работаю над альтернативным способом аутентификации пользователя. Я больше не использую имя и пароль. Он работает в командной строке, но я должен использовать его и в графической части (горизонт). Я должен изменить действие, выполняемое при нажатии кнопки «Войти», но я не могу найти, где находится реализация этого действия: какая функция вызывается Horizon для аутентификации пользователя? Моя цель - вызвать мои новые функции трапецеидального искажения, чтобы получить токен, но я не могу найти, какая функция горизонта вызывает трапецеидальное искажение.

[ОБНОВЛЕННЫЙ ВОПРОС]

*../horizon/views/auth_forms.py* определяет, как определяется страница входа. Где называется его класс Login? Мне нужно изменить код, который запускает создание страницы входа


person DeLac    schedule 13.12.2012    source источник


Ответы (1)


Horizon создает целый набор классов для взаимодействия с трапецеидальными искажениями.

горизонт проверки/openstack_dashboard/api/keystone.py

в основном он использует набор API python-keystoneclient.

Вы также можете проверить http://docs.openstack.org/developer/horizon/topics/customizing.html

person Matt Joyce    schedule 17.12.2012
comment
Спасибо. Если кому-то тоже интересно, из этого я узнал, что токен создается в /keystoneclient/v2_0/client.py. Имя функции меняется в зависимости от версии openstack. В любом случае строка для поиска: raw_token = имя_функции (имя пользователя, пароль,...) - person DeLac; 18.12.2012
comment
Откуда вы знаете эту информацию? Вы нашли его сами или прочитали где-то в документации? благодарю вас - person DeLac; 18.12.2012
comment
Документация существовала некоторое время, и я знал об этом. Я также закоммитил код в Horizon, так что я тоже видел там кое-что. - person Matt Joyce; 18.12.2012
comment
еще одна проблема... У меня сейчас эта ошибка: Messate не определен. Это относительно этой строки :Messate(root, text=repr(request)) в api/keystone.py Знаете ли вы, что такое Messate? нигде не могу найти в коде - person DeLac; 19.12.2012
comment
может быть опечатка перевода в сообщении. большинство сообщений об ошибках переводятся как часть поддержки интернационализации django. i8n. - person Matt Joyce; 21.12.2012