1

我正在尝试查找导致基本登录对话框在访问受保护端点时提示的原因。我们支持 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(); 出现登录提示?

4

1 回答 1

0

如果您删除这些objRequest = GetPageContext().GetRequest()位,它是否仍会为您提供基本身份验证提示?

.htaccess我怀疑您的 API 所在的目录中可能有一个文件正在通过 Apache 请求基本身份验证(或者,如果使用 IIS,则需要通过 IIS 进行基本身份验证),该文件显示登录提示。

这是一个服务器级别的对话框,不太可能是您可以通过代码想象出来的东西。

于 2016-11-29T05:00:39.213 回答