当前位置: 首页 > 知识库问答 >
问题:

Spring Security 2阶段认证

岳昊空
2023-03-14

我是spring security的新手,不知道从哪里开始。我有多页身份验证的要求。第一个页面验证用户名,如果用户名存在,web应用程序将进入密码页面。(站点图片)第二页验证密码,如果成功,则验证用户。我不知道如何将其应用到spring auth中。我是否添加了多个登录过滤器和身份验证提供程序?如果我添加了多个authenticationproviders,我在第一次登录后会被验证吗?

共有2个答案

扈翰
2023-03-14

这取决于您的身份验证类型:

>

  • JDBC身份验证

    你可以用@holmis83建议。

    LDA认证:

    恐怕你不能那样做。

  • 谷梁楷
    2023-03-14

    第1页:用户输入用户名。将此提交到您自己的控制器,在那里您可以检查用户是否存在。如果用户存在,显示第2页,在模型中传递用户名。您最好不要在此步骤中包含Spring Security身份验证。

    第2页:用户输入密码。使用只读或隐藏字段跟踪用户名。将表单提交到Spring Security表单登录过滤器。您不需要多个身份验证提供程序。

    注:此方法存在信息“泄漏”;任何访问者都可以检查系统中是否存在用户名。

     类似资料:
    • 有什么建议吗? DS 代码为: 在其上运行命令的: 项目中的位置:

    • 该阶段之所以称为layout,因为该阶段的代码都是在DOM渲染完成(mutation阶段完成)后执行的。 该阶段触发的生命周期钩子和hook可以直接访问到已经改变后的DOM,即该阶段是可以参与DOM layout的阶段。 概览 与前两个阶段类似,layout阶段也是遍历effectList,执行函数。 具体执行的函数是commitLayoutEffects。 root.current = fini

    • 终于到了执行DOM操作的mutation阶段。 概览 类似before mutation阶段,mutation阶段也是遍历effectList,执行函数。这里执行的是commitMutationEffects。 nextEffect = firstEffect; do { try { commitMutationEffects(root, renderPriorityLevel);

    • 我是格雷德尔的新手。我正在尝试使用一个插件,但我想在执行过程中更改插件的默认值 我希望在执行过程中使用project.version中存在的版本值。但看起来该值是在执行任何任务之前设置的。有什么想法吗?

    • 在本节正式开始前,让我们复习下这一章到目前为止所学的。 Renderer工作的阶段被称为commit阶段。commit阶段可以分为三个子阶段: before mutation阶段(执行DOM操作前) mutation阶段(执行DOM操作) layout阶段(执行DOM操作后) 本节我们看看before mutation阶段(执行DOM操作前)都做了什么。 概览 before mutation阶段的

    • 这是我的项目结构: 我在这里做错了什么?或者eclipse在这里期待着NetBeans没有的东西?!?