我正在尝试找出在访问受保护端点时提示基本登录对话框的原因。我们支持SSL并使用Taffy REST框架。
我所指的http basic登录是这样的https://www.httpwatch.com/httpgallery/authentication/#showExample10 (单击“显示图像”按钮)
我们的onTaffyRequest代码
function onTaffyRequest(verb, cfc, requestArguments, mimeExt, headers, methodMetadata, matchedURI){
//get username and password
structAuth = structnew();
structAuth = getBasicAuthCredentials();
structAuth.authenticated = false;
local.status = "forbidden";
/*<!--- Get request from ColdFusion page contenxt. --->*/
objRequest = GetPageContext().GetRequest();
/*<!--- Get requested URL from request object. --->*/
requestArguments.strUrl = objRequest.GetRequestUrl().Append(
"?" & objRequest.GetQueryString()
).ToString();
/* CATCH NO BASIC auth*/
//if username is blank return false
if (structAuth.username is ""){
return representationOf( local.status ).withStatus(401);
}
//check invalid password
if(structAuth.password is ""){
return representationOf( local.status ).withStatus(401);
}
return true;
}是否出现使登录提示出现的objRequest = GetPageContext().GetRequest();?
发布于 2016-11-29 13:00:39
如果删除objRequest = GetPageContext().GetRequest()位,是否仍会给出基本身份验证提示?
我怀疑您的应用程序接口所在的目录中可能有一个.htaccess文件,该文件通过Apache请求基本身份验证(或者,如果使用IIS,则需要通过IIS进行基本身份验证),该文件将显示登录提示。
这是一个服务器级别的对话框,不太可能是您通过代码就能想到的东西。
https://stackoverflow.com/questions/40857809
复制相似问题