簡體   English   中英

Rest API中的Spring Security

[英]Spring Security in Rest API

我在選擇REST API的安全性類型時遇到問題。 首先,我描述一個問題。 有一個應用程序將使用此REST API。 該應用程序具有前端和后端。 它通過庫spring-security-oauth2和spring-boot-starter-security實現了彈簧安全性。 它使用JWT,並將在AWS上。 它將使用來自AWS的令牌。 該應用程序將使用rest服務,該服務從另一個數據庫提取數據。

我想在REST API春季安全性oauth2和JWT中使用,但是此REST API將在具有JAVA 1.5的舊JBOSS 4.2上部署(不幸的是,在Java 1.5中無法更改,這是我得到的限制)。 我檢查過的Spring security oauth2使用1.6及更高版本。 我的問題是,有人可以建議我出於安全目的在REST API中使用什么嗎?

將來,該REST API可能會被不同的應用程序使用。 我想使用比基本身份驗證更安全的方法。 我在尋找解決方案,但沒有發現任何有意義和有用的東西。 我想征詢誰使用Spring Security的意見。

編輯
我決定在內存用戶和密碼保持中使用基本身份驗證。 我為實現添加了兩個類:

@Configuration
@EnableWebSecurity
public class SecurityConfiration extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
                .inMemoryAuthentication()
                .withUser("user").password("password").roles("USER");
    }

    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .httpBasic();
    }
}

第二類:

public class SecurityApplicationInitializer extends AbstractSecurityWebApplicationInitializer {

    public SecurityApplicationInitializer() {
        super(SecurityConfiration.class);
    }
}

基本上就是這樣。 沒用 調用rest api可以正常工作,並且顯示結果。 401無法正常工作。 我忘了什么嗎? 此外,我不想使用重定向登錄或顯示帶有憑據的窗口。 我要發送帶有錯誤或消息的正文或標題信息。 我可以覆蓋一些東西來做到這一點嗎?

環境:部署在Jboss 4.2(Java 1.5)和Spring Security 3.2.10上。

這可能不是您要找的答案,但這是建議:

不要只局限於思考“我應該使用哪種框架”。 最后,其余部分是關於http的,並且完全不了解spring(-security)或java,它們只是傳遞帶有包含一些授權令牌的標頭的請求。

在正常情況下,不鼓勵執行自定義oauth(2)實現,但是在某些限制下,例如Java 1.5可能是唯一的選擇。 或者根據情況(非關鍵資源,內部VPN),基於簡單令牌的授權可能就足夠了。

暫無
暫無

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

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