Java: автоматический вход в Windows и Linux - PullRequest
0 голосов
/ 03 августа 2011

Как я могу проверить учетные данные пользователя для локального компьютера?Например, у меня есть следующие строки: Имя пользователя: Пароль пользователя: pwd.

Сценарий: Попытка войти в Windows или Linux.если существует пользователь user / pwd, метод должен возвращать «true».

Я не могу использовать LDAP или базы данных, но мне нужно использовать только локальные учетные данные ...

Это возможно?и ... если это возможно, должны предоставить приложению соответствующие права

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

«Правильный» способ сделать это - попытаться войти, используя эти учетные данные. Вы не можете получить учетные данные из ОС, потому что они не хранятся в виде открытого текста.

У вас есть много способов войти в систему. В Linux вы можете использовать SSH. Используйте одну из доступных библиотек Java SSH (например, Jsh). Отправьте свои учетные данные и посмотрите, есть ли у вас логин. То же самое для окон, но там вы можете использовать WMI. Рекомендуются следующие библиотеки WMI: JaWin, Jintegra, Jinterop.

Вероятно, Jinterop - лучший выбор, потому что он бесплатный и является чистой реализацией Java, поэтому он кроссплатформенный по определению: вы можете работать в Linux и войти в систему на удаленной машине Windows. Jintegra то же самое, но не бесплатно. JaWin - это JNI-оболочка, поэтому приложение должно запускаться в Windows.

0 голосов
/ 03 августа 2011

Возможно, вы захотите использовать утилиту входа в систему JAAS с аутентификацией JAAS и J Авторизация AAS .

Кажется, ты делаешь то, что хочешь (если я хорошо понял твой вопрос).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...