有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将基本授权头添加到一些请求中

我想在基于Spring的web应用程序中显示来自摄像头的实时mjpeg流,摄像头需要基本身份验证

由于Chrome不再支持URL中的身份验证(请参见https://code.google.com/p/chromium/issues/detail?id=123150#c3),而且我主要在Android平板电脑上以全屏/主屏幕模式使用该webapp,因此我遇到了麻烦

带有嵌入式auth的图像标签(顺便说一句,它在Firefox中工作)如下所示:

<img src="http://username:password@the.camera.local/video.mjpeg" />

Spring有没有办法拦截特定URL的GET请求并添加Authorization

编辑1

另一方面,如果我能用jQueryajax请求加载图像url,我可以向其中添加用户名和密码参数

任何关于如何做到这一点的提示都是受欢迎的

编辑2

事实上,我最初的问题是有缺陷的。对图像的请求由浏览器直接发送到摄像头url,因此Spring Security无法对其进行修改

可能唯一的解决方案是通过Ajax加载图像


共 (2) 个答案

  1. # 1 楼答案

    我认为使用spring security可以解决您的问题

    例如:-你可以在春季安全中提到。xml文件,要为其实现此功能的url

    <beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
          http://www.springframework.org/schema/security
          http://www.springframework.org/schema/security/spring-security-3.1.xsd">
    
         <http>
            <intercept-url pattern="/video/*" access="ROLE_USER" />             
            <!  Basic authentication  >
            <http-basic/>
        </http>     
        <authentication-manager>
            <authentication-provider>
                <user-service>
                    <user name="test" password="test_pass" authorities="ROLE_USER" />
                </user-service>
            </authentication-provider>
        </authentication-manager>    
    </beans:beans>
    

    配置web。xml用于spring安全性,并在pom中添加依赖项。xml也一样

    现在,当您尝试访问资源/视频/时,对于每次成功的身份验证,它都会添加授权头

  2. # 2 楼答案

    如何向某些请求添加基本身份验证?如果我使用spring,安全性将向所有请求添加头