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

Nginx反向代理仅允许经过身份验证的用户访问Spring Bootapi

花飞扬
2023-03-14

我的任务是用Nginx替换Zuul反向代理。Zuul代理中的安全性是通过implementation”组织实现的。springframework。启动:spring启动程序安全性“

@EnableWebSecurity
class ZuulSecurity(...) : WebSecurityConfigurerAdapter() {

    override fun configure(http: HttpSecurity) {
        http.csrf().disable().httpBasic().disable()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
                .sessionFixation().changeSessionId()
                .and().authorizeRequests()
                .antMatchers(*dennyPatterns).denyAll()
                .antMatchers(*loginPatterns).permitAll()
                .anyRequest().authenticated()
                .and().formLogin().loginPage(loginUrl)
    }
}

Spring boot api服务的保护方式与@EnableWebSecurity

我将Zuul反向代理替换为Nginx作为反向代理。

我如何在Nginx上强制执行安全性,以便没有未经身份验证的请求被代理传递到后端api服务换句话说,我想在Nginx上验证请求是否由经过身份验证的用户发出(loginPatterns URL除外)。我应该学习哪一个nginx/管理指南/安全控制


共有1个答案

帅博简
2023-03-14

我已经完成了配置子请求身份验证/

 类似资料:
  • 在我的Jitsi Meet Prodody配置文件中:~/。jitsi meet cfg/prosody/config/conf.d 我有以下配置: 有了它,我可以通过令牌进行身份验证。 但是,如果我不指定任何令牌,例如: https://jitsi.mydummyserver.com/test 然后我得到以下提示询问用户和密码: 有没有办法只允许令牌身份验证并完全摆脱那个提示? 谢谢

  • 问题内容: 我想为在Ubuntu服务器12.04.1上运行的Apache的反向代理站点添加基本身份验证。 该Web应用程序是在Java EE容器上运行的Jenkins。 我在 httpd.conf中 添加了以下配置, 当我使用错误的密码或不存在的用户名进行身份验证时,我可以在apache的 error.log 中找到以下消息, [2012年10月27日星期六17:51:59] [错误] [客户端2

  • 我的代码在这里:代码重新发布是因为我想问一个更直接的问题。如何在未经身份验证的用户和经过身份验证的用户之间切换?我的未经验证的文件似乎已缓存,我使用了以下方法: 在我剩下的api代码之前,它仍然不能工作。谢谢你的帮助 注意:我知道它不起作用,因为我在切换配置/凭据提供程序后立即使用lambda进行调用,并且只有授权用户才能调用此方法。 编辑@behrooziAWS答案: API代码: 完整错误:B

  • 我的Laravel REST API使用Tymon/JWT-Auth包。在我的文件中,我可以添加用于未验证用户的路由和用于已验证用户的路由。 未经身份验证用户的路由忽略授权标头。但是,我想要一个路由组,如果标头有效,它可以利用授权用户数据,如果标头没有设置或无效,它可以做其他事情。 有没有办法实现这种功能,或者JWTAuth包内置中间件中有没有解决方案?

  • 我正在尝试将AWS Cognito(用户池)和AWS DynamoDB用于我的移动应用程序。 我做了以下工作: 在AWS Cognito上创建用户池。 在AWS Cognito上创建身份池,并将用户池ID、应用客户端ID设置为身份验证提供商上的Cognito。 在AWS DynamoDB上创建SampleTable. 设置权限验证角色以访问AWS IAM上的SampleTable。 我创建了以下代

  • 现在,我只想让那些已经注册并用我们的软件验证过的用户登录,我已经将用户的电子邮件列表(去掉特殊字符)保存在Firebase内部。当前,当用户登录时,我使用以下功能检查他们的邮件是否在此列表中: 虽然这种方法起作用,但它相当笨拙,因为用户仍然能够在函数回调被调用之前进行初始登录,并且他们的电子邮件仍然显示在FireBase中的“Authentication”选项卡中。 有没有更好的方法只允许预先验证