В NetCat реализована возможность авторизации через Рутокен. Идея заключается в том, что с пользователем неткэта (например, с администратором сайта) связывается usb-токен, который потом используется для авторизации, причем можно так настроить систему, что администратор сайта сможет зайти в систему администрирования только имея токен, что значительно увеличивает безопасность системы. Подробнее о самих web-токенах можно узнать на приведенном выше сайте. Для авторизации через токен нужно установить плагин к браузеру, скачать его можно на странице www.rutoken.ru/support/download/rutoken-web/
Привязка пользователя к токену осуществляется через систему администрирования. Вставьте usb-токен в компьютер, в списке пользователей ( «Пользователи»- «Список пользователей» ) выберите нужного пользователя. В самом конце страницы редактирования пользователя будет блок «USB-TOKEN»:
Введите логин, который будет записан на токен ( он необязательно должен совпадать с логином пользователя), например, admin, и нажмите «Привязать», далее в диалоговом окне введите PIN-код токена, после чего информация о пользователи сохранится, а так же пользователь привяжется к токену. Теперь можно авторизоваться под данным пользователем с помощью токена.
Внимание! Если Вы несколько раз введет неправильный PIN-код, то токен заблокируется.
В редактирование пользователя в том же блоке можно увидеть, к каким пользователям токен привязан данный пользователь и при желании «отсоединить» этого пользователя от токена.
Если в настройках модуля разрешено входить в систему администрирования через токен, то на странице авторизации в систему администрирования Вы уведите ссылку «по токену». Вставьте токен в компьютер и кликнете на эту ссылку, покажется окно, изображенное на рисунке ниже:
В выпадающем списке надо выбрать пользователя, после чего нажать «Авторизоваться». После успешного ввода PIN-кода в диалоговом окне NetCat Вас авторизует и Вы попадете в систему администрирования.
Внимание! Если Вы несколько раз введет неправильный PIN-код, то токен заблокируется.
Форма авторизации по токену на сайте
Для авторизации пот токену на сайты вы можете использовать следующую форму:
<object id='nc_token_plugin' type='application/x-rutoken' width='0' height='0'></object> <!-- в этот элемент будут писать тексты ошибок --> <div id='nc_auth_token_info'></div> <form id='nc_token_form'> <!--этот контейнер по умолчанию скрыт, показывается, если токен вставлен--> <div id='nc_auth_token_form' style='display:none;'> <select name='nc_token_login' id='nc_token_login'></select> <input type='hidden' value='' id='nc_token_signature' name='nc_token_signature'/> <input class='auth_submit' onclick='nc_token_sign(); return false;' type='button' value='Войти по токену' /> </div> </form> </div> <script type='text/javascript'> // инициализируем объект для работы с токенами nc_token_obj = new nc_auth_token ( {'randnum' : '<?= $nc_auth_token->get_random_256(); ?>'}); // если токен вставлен, то покажем форму с выбором логина if ( nc_token_obj.load() ) $('#nc_auth_token_form').show(); // авторизация function nc_token_sign ( ) { $('#nc_auth_token_info').hide(); // коды ошибок err_text = { 1: 'Плагин не установлен', 2: 'Токен не вставлен', 3: 'Пин-код введен неверно', 4: 'Произошла ошибка' }; if ( (err_num = nc_token_obj.sign()) ) { // если произошла ошибка — покажем ее $('#nc_auth_token_info').html(err_text[err_num]); $('#nc_auth_token_info').show(); } } </script>