2010-08-16 5 views
0

Мне дана задача написать систему аутентификации пользователя и входа в систему java. Как начать? Я могу написать простую страницу входа в систему с запросом имени пользователя и пароля, а затем проверить их в сервлете по базе данных. Является ли это системой аутентификации пользователей и входа в систему? Также я могу использовать JAAS.but, я думаю, JAAS уже является службой аутентификации. Но я хочу писать с нуля. Скажите, пожалуйста, с чего начать, и что именно мне нужно делать? СпасибоUser Authentication and login System в JAVA

+0

Почему вы хотите писать с нуля, а не экономить время и усилия, используя уже написанную библиотеку? –

+0

Чтобы узнать основы, конечно. – duffymo

+0

На самом деле мне поручено сделать это, и более того, я хочу узнать, как все работает в фоновом режиме. – Shwetanka

ответ

1

Да, большинство систем аутентификации и входа в систему будут запрашивать у пользователя имя пользователя и пароль и проверять эти данные в базе данных для обеспечения подлинности конечного пользователя. Но есть много важных деталей для обеспечения целостности и безопасности системы в целом.

Одна из важных деталей - никогда не хранить и не отображать пароли в виде обычного текста, поскольку они могут быть получены вредоносными сторонами. Типичным способом избежать этого является использование одностороннего хеш-алгоритма для его хранения в базе данных, например MD5 или лучше SHA1. Кроме того, никогда не передавать пароли открытого текста по незашифрованному каналу, поскольку они могут быть перехвачены неавторизованными пользователями. Есть много других проблем, которые следует тщательно учитывать в зависимости от того, насколько безопасна система и есть ли разумная угроза для мотивированных злоумышленников.

Использование существующей библиотеки или фреймворка, вероятно, является наиболее прагматичным, но если вы хотите создать свой собственный, вы должны сделать правильное изучение предмета. Кроме того, HTTP имеет встроенные методы аутентификации, которые могут быть рассмотрены, например, basic и digest аутентификация; понимание этих методов поможет вам найти подходящее решение.

+0

Но что именно я должен делать? Управление регистрацией пользователя, управление сеансами и файлы cookie. Я думаю, мне придется управлять всем этим. Я хочу написать его для повторного использования в других приложениях. – Shwetanka

0

Да, вы правы, прежде всего, вам нужно создать страницу входа в систему, а затем выполнить проверки на стороне клиента, такие как поля имени пользователя и пароля, не пустые .... если пусто, тогда отобразите правильное сообщение об ошибке ... снова пароль должен не видно, используйте знак звездочки, чтобы отобразить пароль ... затем отправьте запрос на сервлет и подтвердите его в отношении вашей базы данных .... и укажите правильное сообщение ... Я думаю, что это то, что от вас ожидается ....