2014-01-15 45 views
0

我在運行應用程序時遇到連接到H2數據庫的問題。我現在有grails.dbconsole.enabled設置爲true在配置文件中,但每當我試圖通過Grails無法訪問H2表

https://localhost:8080/app-name/dbconsole 

訪問數據庫我用不上。我目前安裝了spring-security插件,每次嘗試訪問此頁面時,都會要求我通過安全協議登錄,而不是通過H2控制檯登錄。當我嘗試通過spring-security登錄時,我仍然無法查看錶格。任何建議,將不勝感激。

+0

如果您還沒有作出任何DataSource.groovy的變化,你應該找到的URL數據庫存在,還用戶名「山」密碼爲空 - 作爲DataSource.groovy中看到。 – marko

回答

2

以下添加到您的Config.groovy允許訪問dbconsole URL

grails.plugin.springsecurity.interceptUrlMap = [ 
    '/dbconsole*':['permitAll'] 
] 

您還可以禁用春季安全發展暫時

environments { 
    development { 
     grails.plugins.springsecurity.active = false 
    } 
} 
+0

我在使用第一種方法時仍然遇到同樣的問題,當我嘗試第二種方法時,我最終發現它無法對密碼進行編碼。 – Jakel309

+0

@ Jakel309你得到了什麼確切的錯誤以及在哪個類中? –

+0

我得到的錯誤是'ERROR context.GrailsContextLoader - 初始化應用程序時出錯:無法在null對象上調用方法encodePassword() 消息:無法在位於grails.plugin.springsecurity中的null對象上調用方法encodePassword()。 SpringSecurityService – Jakel309

0

這是我在Config.groovy中加入訪問安裝了spring security的dbconsole。

grails.plugin.springsecurity.interceptUrlMap = [ 
    '/':     ['permitAll'], 
    '/assets/**':   ['permitAll'], 
    '/partials/**':   ['permitAll'], 
    '/dbconsole*/**':  ['permitAll'], 
    '/**':     ['isAuthenticated()'] 

]