2010-12-16 59 views
1

我知道,對於安全的數據庫,需要有用戶名和密碼。不過,我很好奇爲什麼Ruby on Rails不允許你在mysql上使用匿名帳戶。我已經嘗試在數據庫中保留用戶名和密碼行爲空。可能我並不完全瞭解數據庫信息存儲在RoR應用程序中的哪個位置。我也嘗試去「Ruby192 \ lib \ ruby​​ \ gems \ 1.9.1 \ gems \ mysql2-0.2.6-x86-mingw32」下的mysql2目錄(這是我用來讓你知道的版本)。但我真的不知道在哪裏看。在RoR上使用匿名mysql帳戶

如果任何人有任何想法,或解釋爲紅寶石甚至允許你沒有用戶名和密碼訪問數據庫。

+0

你可以在MySQL中有一個空白的密碼,但沒有空白的用戶。 – Mchl 2010-12-16 18:50:27

回答

0

你看到了什麼錯誤?

密碼肯定不需要在配置中,但如果我嘗試將用戶名設置爲空,並在控制檯中檢查ActiveRecord :: Base.connection,我可以看到它默認回到使用root。

+0

這是有道理的,當我離開用戶名空白我看到下面的錯誤。訪問被拒絕用戶'root'@'localhost'(使用密碼:NO)。所以基本上我怎麼能防止用戶名默認回到使用根? – 2010-12-16 19:27:46

+0

我並不完全確定理由(就安全性而言,我理解爲什麼它被壓低了,但不是爲什麼它被迫),但它是[活動記錄的mysql適配器的第36行]上的硬編碼回退(https:/ /github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb#L36) – idlefingers 2010-12-16 20:25:43