【问题标题】:Bypass basic authentication for only frontend application仅对前端应用程序绕过基本身份验证
【发布时间】:2023-01-05 01:29:47
【问题描述】:

我有一个前端应用程序写在反应和一个后端应用程序写在弹簧靴.我已经使用 Spring Security 在后端应用程序(针对所有端点)中实现了基本身份验证。所以现在访问每个端点都需要用户名和密码。

要求:

  1. 我不想从前端应用程序传递用户名和密码来访问后端应用程序端点,所以基本上,我想绕过前端应用程序的基本身份验证。

  2. 如果有人想访问我的前端应用程序之外的任何端点,例如 Postman、RestTemplate 等,则需要用户名和密码。

    例如 -

    如果请求来自www.abc.com(前端应用程序 URL),则应绕过基本身份验证对于所有端点,但如果请求来自www.xyz.com、Postman、RestTemplate 或任何其他客户端,则不应绕过基本身份验证。

    我知道如何绕过后端应用程序中特定端点的身份验证,但我不知道如何绕过请求者的身份验证,我也通过互联网进行了研究,但没有找到有用的东西。寻找工作代码来满足要求。

【问题讨论】:

    标签: java reactjs spring-boot spring-security basic-authentication


    【解决方案1】:

    如果您使用某种反向代理(例如 nginx)来为您的前端提供服务,您可以在那里设置基本的身份验证参数。

    例如

     location / {
        ...
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Authorization "Basic TOKEN";
     }
    

    其中TOKEN = base64(username:password)

    【讨论】:

    • 感谢您的回复,但我不想在前端和后端之间使用任何其他服务
    【解决方案2】:

    @Rohit Agarwal:您找到解决方案了吗?

    【讨论】:

    猜你喜欢
    • 2012-01-03
    • 1970-01-01
    • 2019-01-14
    • 2023-03-25
    • 2019-08-26
    • 2015-02-13
    • 2017-09-18
    • 2015-06-10
    • 2018-05-18
    相关资源
    最近更新 更多