即時通訊嘗試將春季安全與自定義角2登錄,這是我的應用程序的特定端點是保護與春季安全,試圖訪問它將重定向到/登錄處理角2.現在,我不知道如何執行登錄和授予訪問後端API一旦記錄。角度2登錄與彈簧安全
我正在配置Spring安全如下:
@Override
protected void configure(final HttpSecurity http) throws Exception {
http
.csrf().disable()
.cors().and()
.authorizeRequests()
.antMatchers("/api/someEndpoint/**")
.hasRole(ADMIN_ROLE).and().formLogin()
.loginPage("/login").and().logout();
}
@Override
protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder);
}
因爲我有默認的登錄一切運行良好,但我發現自己無法創建工作角2登錄集成。 我試着在角2以下代碼無濟於事:
login(loginDetails:Object) {
console.log(loginDetails)
const headers = new Headers({ 'Content-Type': 'application/json' });
const options = new RequestOptions({ headers: headers });
const body = JSON.stringify(loginDetails);
console.log(headers);
console.log(body);
return this.http.post(this.loginUrl, body, options)
}
據我知道用戶名和密碼的變量名春季安全默認值是「用戶名」和「密碼」,我確信正在傳遞在請求正文所以當傳遞一些無效的用戶數據,如{"username":"admin", "password" : "pass"}
我應該被重定向到/登錄?錯誤或什麼,並且當成功通過身份驗證時,我應該被重定向到/歡迎並保持身份驗證
我有用戶和通過定義在我的分貝和我的自定義userDetailsService檢查它 任何答案,意見或問題,歡迎
'formLogin'預計內容類型的參數'應用/ x-www-form-urlencoded'而不是'application/json'。因爲你正在使用API,所以你必須使用HTTP Basic或OAuth2 – WildDev
並不是我嘗試這樣做的方式現在HTTP基本? –
其實你不是 – WildDev