2013-02-28 3 views
1

Я начинаю программировать в сети, и мне нужно создать функцию смены пароля, например, в социальной сети. Я делаю это в первый раз и не знаю, как это сделать. Я не знаю, как создать архитектуру. Я использую backbone.js в пользовательской части, я создам userModel (это базовая модель). На стороне сервера я использую Java. У меня есть одна идея, что: добавить к Класс_пользователей (это класс Java) новые поля, названныесделать функцию для изменения пароля

@JsonIgnore 
String oldPassword; 

@JsonIgnore 
String newPassword; 

JsonIgnore делают поле невидимой на стороне пользователя. Я пошлю поля с userModel со стороны пользователя, поэтому я проверяю серверную сторону. Я думаю, идея не очень хорошая. Если вы знаете какие-либо способы, расскажите мне об этом!

EDIT

Я знаю, как сделать HTML-формы. Я не знаю, как отправить filds на сервер. Если я могу это сделать:

var val1 // old_pass 
var val2 // new_pass 
this.model.save({password: val1,new_password: val2}); 

затем моделировать изменение пароля к знач1, это не правильно, пароль не установлен в стороне пользователя, так как на стороне пользователя не модель пароль

+0

Что вы сделали до сих пор? Вы знаете, как сделать что-нибудь еще? Вы уже создали страницу входа? Или страницу для регистрации новых пользователей? Пример использования, как «смена пароля», довольно необычен, если вы новичок. – Groo

+0

Да, я уже сделал то, что вы просите. Все работает нормально. –

ответ

2

Я не знаю, как ваш процесс проверки подлинности сервера работает, но, возможно, вы можете попробовать что-то вроде этого. Создайте новый вид с user model внутри, чтобы отредактировать атрибуты пользователя. Внутри этого вида отобразится форма, отображающая пользовательские атрибуты, включая пароли. В форме пользователь сможет изменить свою информацию. Для сохранения изменений нажмите кнопку «Сохранить» или что-то в этом роде. Когда кнопка нажата, создайте функцию, которая захватывает значения из формы и использует метод модели save. Этот метод заставляет Backbone запускать команду PUT обратно на сервер. На сервере вы сможете обработать этот запрос и сменить пароль. Очень простая функция, которую вы можете написать, чтобы сохранить изменения в представлении может быть что-то вроде этого:

changePassword = function() { 
var attributes; 
attributes = { 
    password: $('#password').val(), 
    confirm_password: $('#confirm_password').val() 
}; 
this.model.save(attributes); 
}; 

Эта функция создаст объект атрибутов заполняются поля пароля, а затем отправляет его обратно на сервер. Если вы хотите понять немного больше о том, как работает метод save, вы должны проверить Backbone documentation. Надеюсь это поможет!

+0

спасибо за совет, я сделал то, что вы говорите, но этот способ считается неправильным –

+0

Почему вы говорите, что считается неправильным? Здесь вы просто структурируете свой код, чтобы отправить правильную информацию пользователя на сервер. Конечно, есть много дополнений к безопасности, которые вы должны добавить, но я просто хотел, чтобы вы начали. – guzmonne

+0

Я подразумевал под ** считался ошибочным **, что при отправке значений с моделью, модель 'set' атрибутов, то модель будет делать' save'. Мне нужно отправить без статического пароля «set» и новый пароль, затем на стороне сервера проверьте значения –

Смежные вопросы