自定义登录表单-Spring Security

时间:2019-04-29 20:32:52

标签: java spring security login

你们中的任何人是否有使用REST Api的“定制Spring Security登录”表单的示例?我实际上是在尝试创建自己的,而我面临的问题是:

    应该如何命名类,它是用户名还是角色名?因为我看过它的许多不同版本。
    我应该在哪里用登录名和密码发布JSON文件?
    看起来如何?

预先感谢您提供的所有答案和示例代码(github或类似内容)。

2 个答案:

答案 0 :(得分:0)

REST API通常是无状态的。它对会话一无所知。因此,我认为您正在寻找一种基本的身份验证来保护您的API。 或者,您可以使用openid connect并根据令牌检查角色。这将为您在处理服务呼叫的前提条件和后置条件方面提供更大的灵活性。

这是openid与spring boot和google实现连接的一个很好的例子。其他提供者是适应性强的。 Baeldung - Spring Security openid connect

如果您只是在寻找使用基本身份验证的简单解决方案,请在此处查看 Baeldung - Spring Security basic auth

答案 1 :(得分:0)

是的,您可以同时使用表单登录和rest API,但这意味着您的rest API不会是无状态的,这意味着将创建一个会话并且rest API通常是无状态的,这就是为什么您必须在创建rest API时使用基本auth,jwt等,但是如果您真的想将rest API与基于表单的身份验证一起使用,我为您提供了一个示例,请检查此link

此示例使用Spring Boot,Spring MVC,H2,带有自定义表单登录名的Spring Security,Spring Data Jpa,但是同样不建议将表单登录名用于其余API。

关于您的问题

应如何命名类,它是“用户”还是“角色”?因为我看到了很多不同的版本。

  • 由您决定

我应该在哪里用登录名和密码发布JSON文件?

  • 如果您使用的是基于Spring安全表单的身份验证,则无需发布json