我需要包含一些安全(BASIC身份验证)应用程序。
当我在浏览器中打开应用程序URL时,浏览器会要求我输入您的凭据...
我所知道的是:
- 浏览器要求服务器获取 一些网址 - 应用的网址
- 服务器检查请求标头 对于
Authentication header
和。{ 没找到它- 服务器将
401
发送给 浏览器返回- 浏览器解释此响应 代码到消息对话框中 告诉我要我进入 要发送回的用户名/密码
醇>Authentication
中的服务器 请求标题
到目前为止......非常好,我可以编写一些页面(在JSP中),将这个必需的http请求标头发送到调用此页面的请求。 所以我将通过我的页面调用此应用程序..
这里的问题是,这个应用程序(实际上是一个GWT应用程序)包含对来自托管此应用程序的服务器的一些Javascript和CSS文件的引用。我导入的应用程序页面如下:
<html>
<link href="http://application_host/cssfile.css" />
<link href="http://application_host/javascriptfile.js" />
.....
</html>
所以,我再次发现应用程序要求我提供css和js文件的身份验证报告!
我正在考虑许多解决方案,但不知道每个
的适用性Authentication
)当他
向服务器询问js和css
文件请告诉我你对此的看法......并且非常欢迎任何其他建议。
感谢。
答案 0 :(得分:1)
我认为您对服务器的配置方式感到有些困惑。身份验证在身份验证领域的上下文中进行。您的资产应与您的页面位于同一身份验证领域,或者(更有可能)根本不需要身份验证。浏览器应该缓存给定领域的凭据,而不是再次提示它们。
上的协议示例答案 1 :(得分:0)
从你的故事来看,有些东西告诉我你的问题在于它的身份验证方法。不是如何实现它。你为什么这么想打扰请求标题呢?
据我所知,您可以配置容器(即Tomcat)以强制对某些URL进行http身份验证。您的容器将确保已进行身份验证。无需自己设置http标头。
也许你可以更好地解释一下你想要实现的目标,而不是告诉实现细节?
答案 2 :(得分:0)
为什么选择css&amp; js文件保存在服务器的保护区域?您需要将文件放入服务器的公共区域。如果您没有公共区域,那么您必须为此提供帮助。如何做到这一点取决于服务器端软件架构和配置。