опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 15.03.04 07:28
Оценка:
Привет!

понимаю что поднимаю "многострадальный" вопрос но все-таки:

1) прилагаемый пример из статьи Gina-ext просмотрел
2) с "примером" из MSDN с переписанными диалогами если его можно его так назвать ознакомился

Вопрос:
поставлена задача выполнять авторизацию пользователя по смарт-карте
для его решения достаточно чтобы при появлении диалога ввода логина и пароля пользоваля
система умела обнаруживать в ридере смарт-карту (с реализацией этого через PC/SC проблем нет)
и опрелелив "правильность" смарт-карты подставляла в логин/пароль нужные мне данные

соотв, пока смарт-карта в ридере-пользователь работает, как только вынимает её — выполняется WindowEx итп

может кто-нибудь просветить меня насчет направления в котором "копать"?
переписывать весь интерфейс, как я понял в этом случае необязательно-
достаточно ли wlxLogedOutSAS?
может быть кто то уже сталкивался с похожей задачей и сможет мне помочь?
Основная сложность в отладке
А так же (возможно) в моих кривых ручках :D

PS. В гугле в "группах" наткнулся на сообщение что MS для получения каких-то "секретных" примеров gina заставляет подписывать NDA? :-O
Re: опять GINA :-)
От: .Mistery Беларусь  
Дата: 15.03.04 12:15
Оценка: 5 (1)
Здравствуйте, 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


А обязательно своё разрабатывать надо? Может проще чужое взять?
Re: опять GINA :-)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.03.04 00:21
Оценка:
Здравствуйте, SW, Вы писали:

Ничего писать не надо — всё настраивается в групповых политиках (Group Policy)
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: опять GINA :-)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 16.03.04 01:54
Оценка: +1
Здравствуйте, 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

Выбираем настройку
Interactive logon: Smart card removal behavior.

Имеем 3 варианта
No action
Lock Workstation
Force Logoff


Вроде как больше ничего не надо, хотя не уверен. Смарт-карты под курой нет
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 16.03.04 04:36
Оценка:
Здравствуйте, .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, помогу чем смогу!

Спасибо! Но сначала я должен сам как следует разобраться в механизме/и пр.!
Re[3]: опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 16.03.04 04:43
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, adontz, Вы писали:


A>>Ничего писать не надо

такой вариант был бы самым идеальным — но он не подходит по-определению. :D
Я не сильно разбираюсь в механизме, реализованном для этого в W2k->XP итп.
но в моем случае необходимо (у меня более "простой" вариант)
регистрировать пользователя (выполнять авто-подстановку параметров логина и сам логин+сливать в лог например серийный номер карты)
при наличии смарт-карты с определнным содержимым в "файле" записанном на ней
— т.е. БЕЗ ввода пин-кода (ну и IC тоже конечно должен быть правильным .
А в w2k итп (если я правильно понял документацию в картинках)-все несколько по-другому.

но все равно спасибо за совет! сегодня попробую на что это будет похоже.
Re: опять GINA :-)
От: mokc0der  
Дата: 16.03.04 09:09
Оценка:
Здравствуйте, SW, Вы писали:

SW>Привет!


SW>понимаю что поднимаю "многострадальный" вопрос но все-таки:

SW>может кто-нибудь просветить меня насчет направления в котором "копать"?

Сам копаю в этом направлении.
Очень рекомендую посмотреть в MSDN "The Smart Card Cryptographic Service Provider Cookbook" Там расписан вход с помощью SC
Re[2]: опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 18.03.04 12:21
Оценка:
Здравствуйте, mokc0der, Вы писали:

M>Здравствуйте, SW, Вы писали:


SW>>Привет!


SW>>понимаю что поднимаю "многострадальный" вопрос но все-таки:

SW>>может кто-нибудь просветить меня насчет направления в котором "копать"?

M>Сам копаю в этом направлении.

M>Очень рекомендую посмотреть в MSDN "The Smart Card Cryptographic Service Provider Cookbook" Там расписан вход с помощью SC

Это немного-не то что я собираюсь реализовать,
но все равно
ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!


кстати-я порылся в интернете и набрел на несколько проектов gina
возможно они окажутся полезны.
самый крупный из того что я нашел-
http://pgina.xpasystems.com/

так же кое что есть на codeguru.com
Re[3]: опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 10.05.04 06:21
Оценка: 28 (4)
Отвечаю сам себе
решил все-таки логично завершить тему.

кому интересно как реализовал я
(для своей узкоспециализированной задачи без претензий на истинную непогрешимость ).

практически все действия по справочнику gina.hlp (от самого первого примера gina)

проинициилизировав ридер в wlxInitilize (все хендлы/переменные смарт-карты — глобальные)
проверяю состояние (и "правильность" смарт-карты) в ридере запущеной нитью (из того же wlxInitilize),
устанавливая флаг "правильная смарт-карта в ридере"

в LoginDialogBoxProc по таймеру проверяю этот флаг-
при его наличии подставляя логин/пароль пользователя нужного уровня привилегий и выполняя событие "нажали кнопку вход в систему"

та же нить, ловит событие "в ридере карты нет" выполняя при необходимости выход из системы.

та же нить логирует начало и окончание сеанса, проверяет что пользователь, например, вообще без смарт-карты заходил (если ему это можно)

может быть сделано не очень красиво но все таки работает

PS. Отлаживать gina-это самый большой геморрой который я пока встречал в жизни.
Viva la vmware-а то бы вообще терперния не хватило.
Re[4]: опять GINA :-)
От: SW Россия starwoofy.livejournal.com
Дата: 10.05.04 06:37
Оценка:
oops.
конечно терПения.
:D
Re[4]: опять GINA :-)
От: Lonely Dog Россия  
Дата: 11.05.04 10:44
Оценка: +1 :)
Здравствуйте, 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?
Заранее благодарен за любою помощь!!!!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.