2012-04-12 27 views
0

有時候我會在Cake中如何處理一些問題。因此,我希望您對以下用例有所意見:CakePHP 2.0 - >我應該使用CustomAuthorization還是在控制器中寫入邏輯

我正在構建一個登錄表單,用戶也可以使用該表單創建帳戶,用戶需要提供一定的註冊號和電子郵件地址。提交後,我檢查用戶是否已經存在於數據庫中,如果沒有,我創建用戶。創建後,用戶需要由我們公司的員工進行驗證,用戶需要驗證他/她的電子郵件地址。

Ofcourse這很容易在控制器中編寫代碼,但我也在考慮將此邏輯構建爲CustomAuthentication類。然後CustomAuthentication類將處理上述所有邏輯,如果記錄不存在,則創建用戶,並根據用戶是否已通過我們驗證或者他是否已驗證其電子郵件地址,從而提供有用的反饋。

所以,我會更好地創建一個具有自定義認證類的精益控制器......或者更好地將這個邏輯寫入控制器本身。

總的來說:有沒有什麼地方可以找到有關使用MVC框架的最佳實踐的信息......我經常發現自己在決定放置代碼的位置時感到困惑。

回答

0

我沒有看到自定義auth類的需要,因爲這與認證沒有太大關係,因爲它與註冊過程相關。身份驗證是通常是一個步驟的過程,其中您在這裏描述的是多個步驟 - 註冊,驗證,啓用。一旦用戶登錄,這就是身份驗證的來源。

就最佳實踐而言,我通過了解每個組件(控制器,模型,視圖,數據源,組件,行爲,助手等) )的確如此。當涉及到它時,只要問它是佈局邏輯,業務邏輯還是連接邏輯,並且應該指向正確的位置(分別爲View,Model,Controller)。我確信有足夠的資源可以幫助你,所以不排除在外。至於Cake,如果您有關於將#cakephp放入IRC的適當位置的問題。人們通常會指引你朝正確的方向發展。

+0

我認爲你的意思是'身份驗證' - 因爲授權是他登錄後(基於角色的訪問)後的一切。除此之外沒有什麼要補充的。但OP已經以錯誤的名字開始了 - 所以最後這是誤解的根源。 – mark 2012-04-12 17:16:46

+0

是的,我做到了。哇,錯了什麼。謝謝我更新了答案。 – jeremyharris 2012-04-12 17:17:58

+0

我也編輯了我的OP ...同時我創建了授權類,它對我來說似乎非常幹...但我仍然不知道如何確定具體問題的最佳做法。我會檢查IRC,謝謝。編輯:順便說一句,我想以另一種方式做事情的主要原因是,對於登錄每個錯誤,我不得不檢查一個數組,並設置一個單獨的Flash消息...我基本上想要在一個地方得到所有這些消息。 – 2012-04-12 17:47:17

相關問題