我想知道如何創建不同的用戶角色,具體取決於站點用戶註冊的哪一部分?例如,我有三種用戶類型。一個是管理員,另一個是常規用戶,第三個是主持人。如何在註冊過程中分配不同的用戶角色?
我有如下表:
create_table "users", force: true do |t|
t.string "username"
t.string "email"
t.string "role"
t.string "password"
end
裏面的「角色」欄我會救以下字符串之一:「管理員」,「普通」或「主持人」。
我已經在Michael Hartl's Ruby on Rails Tutorial的幫助下創建了我的認證系統。另外,我觀看了railscasts集#189 Embedded Association,這裏有一個非常好的處理多個用戶角色的方法。
問題是,在視頻用戶角色是在註冊過程中選擇的,我不希望用戶看到用戶角色。我有兩個部分的網站。如果用戶通過一個部分註冊,他將具有「常規」角色,並且如果他通過另一部分註冊,他將具有角色「主持人」。角色「管理員」當然會有不同的設置
如果我通過參數「角色」:「主持人」或「角色」:「常規」,但這似乎並不是我的安全選項因爲這將是對用戶可見,他們可以很容易地通過其他一些參數有沒有誰想要傷害網站可以通過「角色」例如普通用戶:「主持人」
謝謝您的建議:)
謝謝。一方面,如果我的網站註冊了常規用戶,而另一方則註冊鏈接「成爲編輯者」。註冊表單是一樣的。唯一不同的是,第二種形式的用戶申請成爲我可以在我的管理面板上批准的編輯器。問題是我不知道如何處理該「角色」列不作爲參數可見。它看起來不應該是可見的,因爲攻擊者很容易成爲管理員。我希望我不會太困惑:) – Cristiano
如果您希望更簡單一些,您可以在「成爲編輯器」鏈接中發送一些其他參數,並且如果它是收到的發佈請求的一部分,則可以以某種方式存儲它批准或不批准。您也可以在註冊表單中添加一個複選框,用戶可以選中「您想成爲編輯器嗎?」 –
謝謝。我會嘗試的! – Cristiano