2015-10-17 79 views
0

我有一個MySQL數據庫和用戶表。我在用戶表中存儲具有不同角色的不同類型的用戶。如何使用CakePHP哈希算法和SALT編寫用於在CakePHP網站數據庫中爲MySQL生成加密密碼的SQL語句?

我正在使用CakePHP框架。在我的core.php文件中,我添加了SALT和HASH代碼,用於在數據庫中存儲加密的密碼。現在一切都很好。 CakePHP將確保在數據庫中存儲加密密碼。

請考慮這種情況:我正在嘗試註冊Webmaster/WebAdmin用戶。我將無法爲WebMaster提供註冊用戶鏈接。只有從後端我應該能夠添加WebAdmin /網站管理員用戶。

所以我需要能夠創建Admin用戶並使用SQL語句存儲他的密碼,並使用CakePHP使用的相同HASH和SALT從前端頁面授權/驗證WebAdmin用戶。

我不是很熟悉如何爲MySQL DB編寫這種類型的SQL語句來完成這個任務。而且我不確定這是否可以實現。如何做到這一點?

如果什麼都行不通,那麼我將不得不提供一個臨時視圖來註冊,然後從代碼中刪除這個視圖。但是如果有一種方法可以在MySQL數據庫上使用SQL語句來實現這個功能,我不太喜歡這個選項。

回答

0

最便攜的方法是在寫入時向您的用戶控制器添加'祕密'功能&視圖,因爲您不確切知道CakePHP如何處理鹽和散列。它可以使用任何可用的散列函數。

但加入這樣的功能,如果你在代碼檢查,如果該帳戶已經存在並沒有那麼糟糕。即使有人猜測該網址,該帳戶也只會添加一次。當然,一旦創建了acocunt你應該立即登錄並更改密碼的東西,是不是代碼。

另一種方法是先創建admin作爲一個普通用戶,然後使用phpMyAdmin或命令行的MySQL改變直接在數據庫中的帳戶的權限級別。

相關問題