2014-10-31 168 views
2

我想在基于Spring的Web应用程序中显示来自摄像头的实时mjpeg流,并且摄像头需要基本身份验证。为某些请求添加基本授权标头

由于Chrome不再支持在URL中进行身份验证(请参阅https://code.google.com/p/chromium/issues/detail?id=123150#c3),而且我主要在全屏/主屏幕模式下使用带有Chrome的Android平板电脑上的Web应用程序,所以我遇到了麻烦。

的图像标签,嵌入权威性,这BTW工作在Firefox,会是这样:

<img src="http://username:[email protected]/video.mjpeg" />

有春天有个办法拦截对某些URL的GET请求,并添加Authorization头?

编辑1

在另一方面,如果我能管理加载与jQuery AJAX请求的图像的URL,向其中我可以添加用户名和密码参数。

任何暗示如何做到这一点实际上是受欢迎的。

编辑2

其实我最初的问题是有缺陷的。对图像的请求由浏览器直接进入相机URL完成,因此不能被Spring Security修改。

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

+0

如前所述,在web应用程序中,我有一个页面显示来自摄像机的实时流。 – yglodt 2014-11-01 10:27:08

回答

0

我认为使用弹簧安全可以解决你的目的。

例如: - 你可以在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春季安全和的pom.xml还添加了依赖。

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

0

如何将基本身份验证添加到某些请求中?如果我使用spring security,则会为所有请求添加标题。