Java 使用自定义身份验证的Spring引导安全性&;会话存储
我正在为一个单页应用程序Vue尝试简单的Spring引导应用程序,其中web服务器应该回答所有Java 使用自定义身份验证的Spring引导安全性&;会话存储,java,spring-boot,Java,Spring Boot,我正在为一个单页应用程序Vue尝试简单的Spring引导应用程序,其中web服务器应该回答所有/api、/auth/login和/auth/logout请求,没有任何视图,只有JSON响应,就像REST api一样 为了让事情变得简单,我需要一个用户名和密码身份验证,但由Vue前端调用。当我使用.formLogin()时,Spring Security会创建一个带有JSESSIONID的cookie,但它可能在内存中 很抱歉,如果问题不合适,但我总是发现相互冲突的方法,并且由于缺乏知识而很快迷失
/api
、/auth/login
和/auth/logout
请求,没有任何视图,只有JSON响应,就像REST api一样
为了让事情变得简单,我需要一个用户名和密码身份验证,但由Vue前端调用。当我使用.formLogin()
时,Spring Security会创建一个带有JSESSIONID
的cookie,但它可能在内存中
很抱歉,如果问题不合适,但我总是发现相互冲突的方法,并且由于缺乏知识而很快迷失方向:
formLogin()
是正确的选择,还是应该使用其他方法SessionRepository
类或会话cookie名称,则应该添加它formLogin
是正确的选择之一,但您需要对其进行配置,以替换默认的spring安全行为。与中一样,配置HttpSecurity
bean,以便使用您的/auth/login
和/auth/logout
值更改默认的/login
和/logout
端点路径。您可能还需要在这个bean中配置其他东西,例如添加配置,所以您的API服务器将以401HTTP状态响应,而不是重定向到登录页面谢谢你的回答。除了formLogin之外,还有其他方法可以使用自定义的JSON POST正文,而不是x-form编码的吗?我怀疑是否有一个标准的解决方案可以接受JSON正文中的凭据。我能想到的spring安全性中最接近的东西是httpBasic,因此您可以将任何api请求作为json正文发送,并且该请求使用存储用户凭据的授权头进行授权。如果您需要在请求体中以json形式发送凭据以验证用户身份,那么您可能必须自己实现它让我们看看后端的代码,特别是您的安全配置文件