0
我使用Spring Security的4 我有我的配置,如:登錄不登錄表單工作
http
.requiresChannel()
.and()
.authorizeRequests()
.antMatchers("<URLS>").hasAnyAuthority(CUSTOMER.toUpperCase(), BRANCH.toUpperCase())
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
這個配置,我能夠訪問Spring的登錄網址:
localhost:9080/contextpath/login?username=BNH123456&password=pass
但現在當我使用登錄表單配置如下:
http
.requiresChannel()
.and()
.authorizeRequests()
.antMatchers("<URLS>").hasAnyAuthority(CUSTOMER.toUpperCase(), BRANCH.toUpperCase())
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage(journey.equalsIgnoreCase("customer") ? "/" : "/#!/login")
我無法訪問Spring的登錄URL。它說:
錯誤404
是否有必要定義一個定製的控制器時,我定義登錄表單?
我想使用我的自定義登錄表單,但它使用Spring的登錄URL。 (如果我使用郵遞員發出登錄請求,它應該進行身份驗證。)
任何人都可以請指導。
'#'將不會在服務器上接收那些客戶端錨點並不會被髮送到服務器。 –
我們在前端使用角度,我們有兩種類型的旅程。對於客戶旅程,我的起始頁面是「/」,但對於員工旅程,我的起始頁面是「/#!/ login」。 angular將用戶名和密碼發送到後端進行驗證。當我沒有把「loginform」工作正常,但是當我添加時,相同的URL localhost:9080/contextpath/login?username = BNH123456&password = pass 停止工作。 – kenthewala
爲什麼它應該不同...只需調用相同的入口點即可。沒有你的首頁不是'/#!/ login',它仍然是'/'。 Angular分析'#!/ login'部分。 –