Предисловие
Cookie: Cookie - это клиентская технология, и программа записывает данные каждого пользователя в соответствующий браузер пользователя в виде cookie.
Когда пользователь использует браузер для доступа к веб -ресурсам на сервере, он принесет свою собственную область данных, чтобы веб -ресурсы обрабатывали свои собственные данные.
Сеанс: сеанс-это технология на стороне сервера. Используя технологию сеанса, сервер может создавать свой собственный объект сеанса для браузера каждого пользователя при его запуске. Поскольку сеанс является эксклюзивным для браузера пользователя, когда пользователь обращается к веб -ресурсам сервера, пользователь может поместить свои собственные данные в сеанс. Когда пользователь снова обращается к другим веб -ресурсам на сервере, другие веб -ресурсы будут затем из соответствующего сеанса пользователя.
Уберите данные, чтобы обслуживать пользователя.
Ключевые различия между сеансом и файлами cookie:
Мы часто используем сеанс для хранения некоторой информации о входе в систему пользователя, чтобы проверить, является ли пользователь в Интернете. Это самое простое решение для веб-сайта, которое будет реализовано. В этой статье используется структура SSM (Spring, Springmvc, Mybatis) в качестве носителя для специального реализации этой системы входа в систему.
Метод заключается в следующем:
1. Передайте имя пользователя и пароль к бэкэнд -интерфейсу через переднюю часть. После того, как интерфейс получает значение, оно зашифровано MD5, сравнивает его с полями в базе данных, возвращает статус на переднюю часть, и передняя часть прыгает на страницу в соответствии с возвратным значением.
Класс инструментов шифрования MD5
public String encoderbymd5 (String str) бросает noshalgorithmexception, unsupportedencodingexception {// определить метод расчета Messagedigest md5 = messagedigest.getinstance ("md5"); Base64encoder base64en = new base64encoder (); // зашифрованная строка newsstr = base64en.encode (md5.digest (str.getbytes ("utf-8"))); вернуть Newsr; }DAO Layer и Mapper
<select id = "valiteuser" parametertype = "java.lang.string" refultype = "com.heitian.ssm.model.userinfo"> выберите пароль из t_user, где username = #{username} </select>Класс реализации сервисного уровня
public String valiteUser (userInfo userInfo) {try {userInfo userDemo = userDao.ValiteUser (encoderBymd5 (userInfo.getUsermanme ())); if (userinfo.getpassword (). equals (userdemo.getpassword ())) {return "pass"; }} catch (Exception e) {e.printstackTrace (); вернуть "ошибку"; } вернуть "отказ"; }Контроллер слой
@Responsebody @Requestmapping ("/loginuser") public hashmap <String, Object> LoginUser (httpservletRequest, пользователь userInfo userInfo) {hashmap <string, object> result = new hashmap <string, object> (); Httpsession session = request.getsession (); System.out.println ("Login Fail"); String status = userservice.valiteuser (userInfo); if (status.equals ("pass")) {session.setattribute ("current_user", userinfo.getusername ()); result.put ("status", "pass"); } else {if (status.equals ("defuse")) {result.put ("status", "defuse"); } else {result.put ("status", "error"); }} return result; }Возвращая информацию о статусе, мы можем определить, успешно ли вход в систему. Если это успешно, напишите пару ключевых значений имени пользователя на сеанс.
2. При доступе к другим страницам, как определить, входит ли в Интернет в Интернете? Я использую JS, чтобы получить стоимость сессии, чтобы судить.
То есть: сначала получите значение сеанса. Если он пуст или нулевой, это означает, что сеанс не имеет поведения в логатике до этого. Мы автоматически перенаправляем его на домашнюю страницу. Если есть значение, это означает, что существует поведение входа в систему, а пользователь, вошел в онлайн, является current_user
В настоящее время мы можем использовать имя пользователя для настройки фонового интерфейса.
<script language = "javascript"> $ (document) .ready (function () {var myname = "<%= session.getattribute (" current_user ")%>"; var projectId1 = "<%= request.getAttribute (" projectId ")%>"; if (myName = null ") {window.libul. } </script>3. Вход пользователя
Выберите, то есть очистить значение в сеансе, и из фона будет открыт интерфейс входа в систему.
@Requestmapping ("/Quituser") public String Quituser (httpservletrequest) {httpsession session = request.getsession (); session.removeattribute ("current_user"); вернуть "индекс"; }Это реализует систему управления пользователями от входа в систему до входа, но это самая основная система, и безопасность является большой проблемой, поэтому решения для проверки, такие как токен JWT, все еще очень полезны.
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.