我相信Spring会将您重定向到,
/home因为您实际上并未通过登录过程对用户进行身份验证。
- 您可以通过
http://mylocal:8080/moon
返回home.jsp视图来访问Web应用程序 - 您单击登录按钮,提交您的登录表单
因为没有显式声明表单登录,所以Spring Security将显示用户名和密码提示框,供最终用户输入其凭据 - 然后,这些凭证将过帐到登录处理URL(
/acct/signin
),您恰巧在其中与signin
方法中的方法进行了映射。AccountController
- 这样的控制器无法通过Spring方式验证用户,但是仍然
/demo
通过返回String 来重定向请求 - 该
/demo
路径受保护(.anyRequest().authenticated()
)到任何未经身份验证的用户,因为当前用户确实未经身份验证,Spring Security会自动将请求重定向到登录页面 - 您最终在
/home
(.loginPage("/home"))上
使用InMemoryUserDetailsManagerConfigurer(请参阅inMemoryAuthentication
javadoc),您只能通过配置的凭据成功登录。如果您需要一个完整的身份验证系统,则必须为您的Spring
Security配置提供一个UserDetailsService实现(通过userDetailsService方法)。
编辑:在与chialin.lin进行对话之后,似乎缺少的配置是Spring Security
的defaultSuccessfulUrl,用于在身份验证后知道将用户重定向到何处。



