我正在使用Grails應用程序。我使用Jaxr插件創建了RestApi。後來我添加了Spring Security Core Plugin來授權和驗證我的資源。當我將這個Spring Security的核心插件我的REST API停止工作,我提到過有太多: Exception While Using Rest API developed using JAX-RS Plugin with Spring Security Core Plugin使用Spring Security Rest插件時遇到的問題
所以,我用Spring Security的休息插件來secire我的REST API。我遵循了整個文檔。我成功生成授權令牌。
這裏是我的Config.groovy文件部分,我爲了補充鏈圖來驗證:
grails.plugin.springsecurity.filterChain.chainMap = [
'/MediaSenseEvents/SessionEvents': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter', // Stateless chain
'/MediaSenseEvents/login': 'JOINED_FILTERS,-exceptionTranslationFilter,-authenticationProcessingFilter,-securityContextPersistenceFilter', // Stateless chain
'/**': 'JOINED_FILTERS,-restTokenValidationFilter,-restExceptionTranslationFilter' // Traditional chain
]
而且,我已經添加了API調用過的路徑:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
....
'/MediaSenseEvents/SessionEvents': ['permitAll'],
....
]
'/ MediaSenseEvents/SessionEvents'是我的API調用的路徑。 而endpointUrl =「/ MediaSenseEvents /登錄」
這是我的事件監聽器類來監聽API調用使得它:
@Path('/MediaSenseEvents/SessionEvents')
class EventsListener {
@POST
//@Consumes("application/x-www-form-urlencoded")
@Consumes("application/json")
//@Secured(['permitAll'])
public String postRequest(String message, @Context HttpServletRequest request) throws IOException {
...........
}
現在,我無法理解怎麼可能我用這個生成令牌以保護我的REST API調用。我仍然無法進行REST API調用,並且使用JAXR PlugIn來實現其他API。
我相信你的靜態規則處理不正確。您是否用'@ Secure'註釋嘗試過?此外,我需要看到一個完整的調試輸出,看看發生了什麼。 – 2014-10-06 13:25:34