我已經爲我的springframework RESTful服務配置了Springframework安全性(4.0)。對於瀏覽器啓動的GET訪問以及html表單,其中action = GET但對於其中method = requestMethod.POST的服務失敗,無論是從瀏覽器提交帶有action = POST的HTML表單;或從遠程應用程序使用RestTemplate。Springframework安全性,無法提交POST方法的HTML表單
要查看問題,我將配置簡化爲以下內容。有了這個,我可以訪問Method = GET的所有服務,而不會受到證書的挑戰(看起來是正確的),但是接收到「accessDeniedPage」的失敗(我從來沒有受到過證書的挑戰)
所有的服務都在「/ CouponController/**」:
@Override
protected void configure (HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/CouponController/**").permitAll()
.and().formLogin().permitAll()
.and().exceptionHandling().accessDeniedPage("/Accesses_Denied_Due_To_Security_failure");
}
如果我用下面的配置,我將訪問方法的服務時的挑戰憑據= get時仍然會看到訪問方法= POST的服務時相同的行爲:
@Override
protected void configure (HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/CouponController/**").access("hasRole('STAFF')")
.and().formLogin().permitAll()
.and().exceptionHandling().accessDeniedPage("/Accesses_Denied_Due_To_Security_failure");
}
我做錯了什麼?
感謝您的信息。可否請您填寫關於如何爲標準HTML添加隱藏字段的句子?由於HTML頁面是從Restful服務的服務器返回的,因此我希望看看能否讓自己遠離JSP。 – user1693207
@ user1693207我已經添加了隱藏的字段示例。 – dkanejs