我试图找到导致基本登录对话框在访问受保护端点时提示的原因。 我们支持SSL并使用Taffy REST框架。
我引用的http基本登录信息如下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();出现登录提示?
答案 0 :(得分:0)
如果删除objRequest = GetPageContext().GetRequest()
位,它是否仍然提供基本的身份验证提示?
我怀疑你的API所在的目录中可能有一个.htaccess
文件,它通过Apache请求基本身份验证(或者,如果使用IIS,则需要通过IIS进行基本身份验证),这将显示登录信息提示。
这是一个服务器级别的对话框,不太可能是你可以通过代码召唤出来的东西。