2014-07-08 49 views
0

我有一個使用外部CAS登錄方法的Grails應用程序,並使用本地用戶列表進行授權。我使用的是spring-security和spring-security-cas插件,一切都很好。針對一個Grails應用程序的兩種單獨的AuthN方法

我現在在應用程序的子域(/ api)下實現了一個RESTful API,並且希望爲它提供安全性。我已經讀過,設置HTTP基本AuthN在Grails中很容易,但在一個應用程序中使用2個安全範例沒有發現任何內容。除了將API分離爲單獨的應用程序之外,是否有一種方法可以爲我的應用程序中的/ api子域實現單獨的身份驗證方法?

任何反饋將不勝感激。謝謝!

回答

0

我發現沒有簡單的方法來完成這個,所以我最終使用了基於IP的訪問控制API(因爲只有少數人會使用它)。

<filter> 
    <filter-name>Remote Address Filter</filter-name> 
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class> 
    <init-param> 
     <param-name>allow</param-name> 
     <param-value>**IP ADDRESSES HERE**</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>Remote Address Filter</filter-name> 
    <url-pattern>/api/*</url-pattern> 
</filter-mapping> 

我也不得不禁用的API,這是我在配置添加權限在interceptUrlMap完成CAS認證:我通過編輯web.xml文件在我的Grails應用程序,並增加了遠程地址過濾這樣做.groovy:

'/api/**': ['IS_AUTHENTICATED_REMEMBERED', 'IS_AUTHENTICATED_ANONYMOUSLY'] 
相關問題