понимаю что поднимаю "многострадальный" вопрос но все-таки:
1) прилагаемый пример из статьи Gina-ext просмотрел
2) с "примером" из MSDN с переписанными диалогами если его можно его так назвать ознакомился
Вопрос:
поставлена задача выполнять авторизацию пользователя по смарт-карте
для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля
система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет)
и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные
соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп
может кто-нибудь просветить меня насчет направления в котором "копать"?
переписывать весь интерфейс, как я понял в этом случае необязательно-
достаточно ли wlxLogedOutSAS?
может быть кто то уже сталкивался с похожей задачей и сможет мне помочь?
Основная сложность в отладке
А так же (возможно) в моих кривых ручках :D
PS. В гугле в "группах" наткнулся на сообщение что MS для получения каких-то "секретных" примеров gina заставляет подписывать NDA? :-O
Здравствуйте, SW, Вы писали:
SW>Вопрос: SW>поставлена задача выполнять авторизацию пользователя по смарт-карте SW>для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля SW>система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет) SW>и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные
SW>соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп
SW>может кто-нибудь просветить меня насчет направления в котором "копать"? SW>переписывать весь интерфейс, как я понял в этом случае необязательно- SW>достаточно ли wlxLogedOutSAS?
В данном случае не достаточно! Если ты сформируешь свой контекст, для того что бы использовать его хотябы в WlxLogedOutSAS тебе придется переписать все ф-и GINA, хотя бы заглушки поставить (т.е. ф-и из msgina.dll уже вызывать нельзя, опять же из-за того что контекст другой). А использовать ты будешь не только WlxLogedOutSAS, это уж поверь мне, ну конечно если ты хочешь сделать грамотную GINA, которая работает красиво и правильно. Т.е. я имею в виду, что тебе нужно будет контролировать действия юзера, аля Win+L, CTRL+ALT+DEL, LogOFF и при этом учитывать наличие/отсутствие карточки. А это вличет за собой переписывание таких ф-й как: WlxIsLockOk, WlxIslogoffOk, WlxLoggedOnSAS и т.д.
SW>может быть кто то уже сталкивался с похожей задачей и сможет мне помочь?
Очень даже сталкивался, как раз закончил проект пару недель назад, у меня GINA логинела юзеров по USB ключам в которых находились аккаунты. Пока ключ в машине юзер работает, как только достал ключ бац лог оф (причем FORCE) и досвидания!
SW>Основная сложность в отладке
Да с отладкой на самом деле геморойчик , я отлаживал через лог файл и на виртуальной машине.
SW>А так же (возможно) в моих кривых ручках :D
Задавай более конкретные вопросs, помогу чем смогу!
Удачи!
... << RSDN@Home 1.1.3 beta 1 >>
Мы — маньяки, должны помогать друг другу!
Re: опять GINA :-)
От:
Аноним
Дата:
15.03.04 13:06
Оценка:
Здравствуйте, SW, Вы писали:
SW>Привет!
SW>понимаю что поднимаю "многострадальный" вопрос но все-таки:
SW>1) прилагаемый пример из статьи Gina-ext просмотрел SW>2) с "примером" из MSDN с переписанными диалогами если его можно его так назвать ознакомился
SW>Вопрос: SW>поставлена задача выполнять авторизацию пользователя по смарт-карте SW>для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля SW>система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет) SW>и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные
SW>соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп
SW>может кто-нибудь просветить меня насчет направления в котором "копать"? SW>переписывать весь интерфейс, как я понял в этом случае необязательно- SW>достаточно ли wlxLogedOutSAS? SW>может быть кто то уже сталкивался с похожей задачей и сможет мне помочь? SW>Основная сложность в отладке SW>А так же (возможно) в моих кривых ручках :D
SW>PS. В гугле в "группах" наткнулся на сообщение что MS для получения каких-то "секретных" примеров gina заставляет подписывать NDA? :-O
А обязательно своё разрабатывать надо? Может проще чужое взять?
Здравствуйте, adontz, Вы писали:
A>Ничего писать не надо — всё настраивается в групповых политиках (Group Policy)
Итак!
Запускаем из коммандной строки mmc.exe
Выбираем в меню File>>Add/Remove Snap-in
Нажимаем кнопку Add
Выбираем из списка Group Policy Object Editor
Нажимаем Add
Если нет домена, то нажимаем Finish, если же домен есть, то нажимаем Browse, выбираем контроллёр домена и нажимаем Finish
Нажимаем Close
Нажимаем OK
Выбираем в дереве
Console Root\[Local Computer Policy или имя домена]\Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options
Здравствуйте, .Mistery, Вы писали:
M>Здравствуйте, SW, Вы писали:
SW>>Вопрос: SW>>поставлена задача выполнять авторизацию пользователя по смарт-карте SW>>для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля SW>>система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет) SW>>и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные
SW>>соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп
SW>>может кто-нибудь просветить меня насчет направления в котором "копать"? SW>>переписывать весь интерфейс, как я понял в этом случае необязательно- SW>>достаточно ли wlxLogedOutSAS?
M>В данном случае не достаточно! Если ты сформируешь свой контекст, для того что бы использовать его хотябы в WlxLogedOutSAS тебе придется переписать все ф-и GINA, хотя бы заглушки поставить (т.е. ф-и из msgina.dll уже вызывать нельзя, опять же из-за того что контекст другой). А использовать ты будешь не только WlxLogedOutSAS, это уж поверь мне, ну конечно если ты хочешь сделать грамотную GINA, которая работает красиво и правильно. Т.е. я имею в виду, что тебе нужно будет контролировать действия юзера, аля Win+L, CTRL+ALT+DEL, LogOFF и при этом учитывать наличие/отсутствие карточки. А это вличет за собой переписывание таких ф-й как: WlxIsLockOk, WlxIslogoffOk, WlxLoggedOnSAS и т.д.
OK! Спасибо за "наводку"!
Буду копать в этом направлении!
SW>>может быть кто то уже сталкивался с похожей задачей и сможет мне помочь?
M>Очень даже сталкивался, как раз закончил проект пару недель назад, у меня GINA логинела юзеров по USB ключам в которых находились аккаунты. Пока ключ в машине юзер работает, как только достал ключ бац лог оф (причем FORCE) и досвидания!
У меня будет примерно так же. SW>>Основная сложность в отладке
M>Да с отладкой на самом деле геморойчик , я отлаживал через лог файл и на виртуальной машине.
SW>>А так же (возможно) в моих кривых ручках :D
M>Задавай более конкретные вопросs, помогу чем смогу!
Спасибо! Но сначала я должен сам как следует разобраться в механизме/и пр.!
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, adontz, Вы писали:
A>>Ничего писать не надо такой вариант был бы самым идеальным — но он не подходит по-определению. :D
Я не сильно разбираюсь в механизме, реализованном для этого в W2k->XP итп.
но в моем случае необходимо (у меня более "простой" вариант)
регистрировать пользователя (выполнять авто-подстановку параметров логина и сам логин+сливать в лог например серийный номер карты)
при наличии смарт-карты с определнным содержимым в "файле" записанном на ней
— т.е. БЕЗ ввода пин-кода (ну и IC тоже конечно должен быть правильным .
А в w2k итп (если я правильно понял документацию в картинках)-все несколько по-другому.
но все равно спасибо за совет! сегодня попробую на что это будет похоже.
Здравствуйте, SW, Вы писали:
SW>Привет!
SW>понимаю что поднимаю "многострадальный" вопрос но все-таки: SW>может кто-нибудь просветить меня насчет направления в котором "копать"?
Сам копаю в этом направлении.
Очень рекомендую посмотреть в MSDN "The Smart Card Cryptographic Service Provider Cookbook" Там расписан вход с помощью SC
Здравствуйте, mokc0der, Вы писали:
M>Здравствуйте, SW, Вы писали:
SW>>Привет!
SW>>понимаю что поднимаю "многострадальный" вопрос но все-таки: SW>>может кто-нибудь просветить меня насчет направления в котором "копать"?
M>Сам копаю в этом направлении. M>Очень рекомендую посмотреть в MSDN "The Smart Card Cryptographic Service Provider Cookbook" Там расписан вход с помощью SC
Это немного-не то что я собираюсь реализовать,
но все равно
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!
кстати-я порылся в интернете и набрел на несколько проектов gina
возможно они окажутся полезны.
самый крупный из того что я нашел- http://pgina.xpasystems.com/
Отвечаю сам себе
решил все-таки логично завершить тему.
кому интересно как реализовал я
(для своей узкоспециализированной задачи без претензий на истинную непогрешимость ).
практически все действия по справочнику gina.hlp (от самого первого примера gina)
проинициилизировав ридер в wlxInitilize (все хендлы/переменные смарт-карты — глобальные)
проверяю состояние (и "правильность" смарт-карты) в ридере запущеной нитью (из того же wlxInitilize),
устанавливая флаг "правильная смарт-карта в ридере"
в LoginDialogBoxProc по таймеру проверяю этот флаг-
при его наличии подставляя логин/пароль пользователя нужного уровня привилегий и выполняя событие "нажали кнопку вход в систему"
та же нить, ловит событие "в ридере карты нет" выполняя при необходимости выход из системы.
та же нить логирует начало и окончание сеанса, проверяет что пользователь, например, вообще без смарт-карты заходил (если ему это можно)
может быть сделано не очень красиво но все таки работает
PS. Отлаживать gina-это самый большой геморрой который я пока встречал в жизни.
Viva la vmware-а то бы вообще терперния не хватило.
Здравствуйте, SW, Вы писали:
SW>PS. Отлаживать gina-это самый большой геморрой который я пока встречал в жизни. SW>Viva la vmware-а то бы вообще терперния не хватило.
Чувствую, вы никогда не писали драйверов...
Там такой гемморой в порядке вещей.
Re: опять GINA :-)
От:
Аноним
Дата:
17.06.04 16:37
Оценка:
Здравствуйте, SW, Вы писали:
SW>Привет!
SW>понимаю что поднимаю "многострадальный" вопрос но все-таки:
SW>1) прилагаемый пример из статьи Gina-ext просмотрел SW>2) с "примером" из MSDN с переписанными диалогами если его можно его так назвать ознакомился
SW>Вопрос: SW>поставлена задача выполнять авторизацию пользователя по смарт-карте SW>для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля SW>система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет) SW>и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные
SW>соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп
SW>может кто-нибудь просветить меня насчет направления в котором "копать"? SW>переписывать весь интерфейс, как я понял в этом случае необязательно- SW>достаточно ли wlxLogedOutSAS? SW>может быть кто то уже сталкивался с похожей задачей и сможет мне помочь? SW>Основная сложность в отладке SW>А так же (возможно) в моих кривых ручках :D
SW>PS. В гугле в "группах" наткнулся на сообщение что MS для получения каких-то "секретных" примеров gina заставляет подписывать NDA? :-O
Люди!!! Поможите!
Надо: программно проэмулировать считыватель смарт-карт и забивать мелкомягкую GINA имя пользователя и пароль.
С чего начать и в каком направлении копать? Как подпихнуть msgina.dll свою, эмулирующую считыватель dll?
Заранее благодарен за любою помощь!!!!!!