Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring security自定义登录表单操作与默认目标url_Java_Spring_Spring Mvc_Security_Spring Security - Fatal编程技术网

Java Spring security自定义登录表单操作与默认目标url

Java Spring security自定义登录表单操作与默认目标url,java,spring,spring-mvc,security,spring-security,Java,Spring,Spring Mvc,Security,Spring Security,使用自定义登录表单创建spring安全应用程序时,我们需要在标记中指定默认目标url。这表示REST API端点,在成功进行身份验证和授权时应调用该端点 在自定义登录表单中,我们有一个action属性。此操作是否应与默认目标url相同?我的控制器中是否应该为此操作配置REST API端点?或者spring会在内部处理它,然后在最初处理它自己之后将请求转发到默认目标url 我知道这看起来是一个非常基本的问题,但我在任何在线教程甚至Spring的文档中都找不到对此的解释。默认目标url是在成功验证和

使用自定义登录表单创建spring安全应用程序时,我们需要在
标记中指定
默认目标url
。这表示REST API端点,在成功进行身份验证和授权时应调用该端点

在自定义登录表单中,我们有一个action属性。此操作是否应与默认目标url相同?我的控制器中是否应该为此操作配置REST API端点?或者spring会在内部处理它,然后在最初处理它自己之后将请求转发到
默认目标url


我知道这看起来是一个非常基本的问题,但我在任何在线教程甚至Spring的文档中都找不到对此的解释。

默认目标url是在成功验证和授权后,您应该在哪里登录用户

自定义登录表单中的操作属性是表单提交上的常规操作属性,而不是特定于spring security自定义登录表单

因此,当您在自定义登录表单中指定action属性时,您指定了在登录表单POST的情况下要调用的请求映射方法,即用户在指定登录凭据后提交的方法


这是处理身份验证和授权的地方,如果成功,用户将登录到默认目标url或从请求映射返回的登录成功页面。当然,如果提供的凭据无效,您将重定向到带有相应错误消息的登录页面。

经过多次尝试和错误后,我发现
操作
登录处理url
这两个属性应该指向同一个端点
登录
。这将激活spring中负责处理身份验证的内置过滤器。成功身份验证后,我们降落在由
默认目标url

指定的端点上,如果我在spring安全配置本身中提供了身份验证和授权详细信息,该怎么办?在这种情况下,由于授权和授权将由spring内部处理,因此操作应该指向什么?在这种情况下,应该是action=“j_-spring\u-security\u-check”,spring根据配置负责。“j_-spring\u-security\u-check”对我不起作用。我发现action属性应该和标记中的登录处理url属性相同。