2013-02-28 123 views
1

我是網絡編程的初學者,我需要創建功能來更改社交網絡中的密碼。我正在做第一次,不知道該怎麼做。我不知道如何創建架構。我在用戶端使用backbone.js,我將創建userModel(這是骨幹模型)。在服務器端,我使用Java。我有一個想法:添加到UserClass的(這是Java類)的新領域,其命名爲使功能更改密碼

@JsonIgnore 
String oldPassword; 

@JsonIgnore 
String newPassword; 

JsonIgnore用戶側製造商區域不可見。我將從用戶端發送userModel的字段,所以我檢查服務器端。我認爲,這個想法不好。 如果您知道任何方式,請告訴我一下!

編輯

我知道如何使HTML的形式。我不知道如何將文件發送到服務器。如果我這樣做:

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

然後模擬密碼更改與val1,這是不正確的,密碼不要在用戶側設置,因爲用戶端沒有模擬密碼

+0

你到目前爲止做了什麼?你知道如何做其他事嗎?你是否已經創建了一個登錄頁面?還是註冊新用戶的頁面?如果你是一個初學者,像「更改密碼」這樣的用例是非常不尋常的。 – Groo 2013-02-28 08:14:30

+0

是的,我已經做了你所要求的。一切正常。 – 2013-02-28 08:36:14

回答

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

謝謝你的建議,我做了你說的,但這種方式被認爲是錯誤的 – 2013-03-01 04:31:41

+0

你爲什麼說這被認爲是錯誤的?在這裏,您只是構建代碼以將正確的用戶信息發送回服務器。當然,你應該添加很多安全缺陷,但我只是想讓你開始。 – guzmonne 2013-03-01 14:22:26

+0

我的意思是**被認爲是錯誤的**,如果發送值與模型,模型'設置'的屬性,然後模型將'保存'。我需要發送'set'舊密碼和新密碼,然後在服務器端檢查值 – 2013-03-04 04:41:43