簡體   English   中英

保護Grails和Spring Security中的REST API

[英]Securing REST API in Grails and Spring Security

我已將Grails應用程序拆分為兩個應用程序 - 面向客戶的Web應用程序和一個承載REST API的獨立應用程序。 我這樣做是因為我正在構建一個iOS應用程序以配合我的網絡應用程序。 我的應用程序使用Spring Security,我想保護REST api。 我驚訝地發現很少有關於正確方法的信息。 我應該使用Spring Security實現oauth,從而使我的API應用程序成為oauth提供者嗎?

任何建議都會很棒。

是的,我只是為另一個應用程序做了這個。 在訪問REST URL時,您必須告訴spring security有不同的行為。

將其添加到config.groovy

現在,您將通過以下方式對應用程序的兩個部分進行身份驗證

a)在URL中使用/ api(假設您如何設置REST)的任何內容都獲得基本身份驗證

b)其他所有內容都通過登錄頁面。

// making the application more secured by intercepting all URLs 
grails.plugins.springsecurity.useBasicAuth = true
grails.plugins.springsecurity.basic.realmName = " REST API realm"
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap




//Exclude normal controllers from basic auth filter. Just the JSON API is included
grails.plugins.springsecurity.filterChain.chainMap = [
'/api/**': 'JOINED_FILTERS,-exceptionTranslationFilter',
'/**': 'JOINED_FILTERS,-basicAuthenticationFilter,-basicExceptionTranslationFilter'
]

我在最近幾周一直在一個插件上工作,它完全覆蓋了你想要做的事情:

http://grails.org/plugin/spring-security-rest

看看它,如果您有任何問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM