Adds windows auth support (#241)
This commit is contained in:
parent
618d3dabee
commit
82e096c9a5
|
|
@ -135,22 +135,38 @@ http_get_completion_info(
|
||||||
// todo: we should not rely on IN_PROCESS_APPLICATION::GetInstance()
|
// todo: we should not rely on IN_PROCESS_APPLICATION::GetInstance()
|
||||||
// the signature should be changed. application's based address should be passed in
|
// the signature should be changed. application's based address should be passed in
|
||||||
//
|
//
|
||||||
|
|
||||||
|
struct IISConfigurationData
|
||||||
|
{
|
||||||
|
BSTR pwzFullApplicationPath;
|
||||||
|
BSTR pwzVirtualApplicationPath;
|
||||||
|
BOOL fWindowsAuthEnabled;
|
||||||
|
BOOL fBasicAuthEnabled;
|
||||||
|
BOOL fAnonymousAuthEnable;
|
||||||
|
};
|
||||||
|
|
||||||
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
||||||
HRESULT // TODO probably should make this a wide string
|
HRESULT // TODO probably should make this a wide string
|
||||||
http_get_application_paths(
|
http_get_application_properties(
|
||||||
_Out_ BSTR* pwzFullPath,
|
_In_ IISConfigurationData* pIISCofigurationData
|
||||||
_Out_ BSTR* pwzVirtualPath
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
ASPNETCORE_CONFIG* pConfiguration = NULL;
|
||||||
IN_PROCESS_APPLICATION* pApplication = IN_PROCESS_APPLICATION::GetInstance();
|
IN_PROCESS_APPLICATION* pApplication = IN_PROCESS_APPLICATION::GetInstance();
|
||||||
|
|
||||||
if (pApplication == NULL)
|
if (pApplication == NULL)
|
||||||
{
|
{
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
// These should be provided to the in process application as arguments?
|
|
||||||
*pwzFullPath = SysAllocString(pApplication->QueryConfig()->QueryApplicationFullPath()->QueryStr());
|
pConfiguration = pApplication->QueryConfig();
|
||||||
*pwzVirtualPath = SysAllocString(pApplication->QueryConfig()->QueryApplicationVirtualPath()->QueryStr());
|
|
||||||
|
pIISCofigurationData->pwzFullApplicationPath = SysAllocString(pConfiguration->QueryApplicationFullPath()->QueryStr());
|
||||||
|
pIISCofigurationData->pwzVirtualApplicationPath = SysAllocString(pConfiguration->QueryApplicationVirtualPath()->QueryStr());
|
||||||
|
pIISCofigurationData->fWindowsAuthEnabled = pConfiguration->QueryWindowsAuthEnabled();
|
||||||
|
pIISCofigurationData->fBasicAuthEnabled = pConfiguration->QueryBasicAuthEnabled();
|
||||||
|
pIISCofigurationData->fAnonymousAuthEnable = pConfiguration->QueryAnonymousAuthEnabled();
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -381,4 +397,19 @@ http_response_set_known_header(
|
||||||
return pHttpContext->GetResponse()->SetHeader( dwHeaderId, pszHeaderValue, usHeaderValueLength, fReplace );
|
return pHttpContext->GetResponse()->SetHeader( dwHeaderId, pszHeaderValue, usHeaderValueLength, fReplace );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
||||||
|
HRESULT
|
||||||
|
http_get_authentication_information(
|
||||||
|
_In_ IHttpContext* pHttpContext,
|
||||||
|
_Out_ BSTR* pstrAuthType,
|
||||||
|
_Out_ VOID** pvToken
|
||||||
|
)
|
||||||
|
{
|
||||||
|
*pstrAuthType = SysAllocString(pHttpContext->GetUser()->GetAuthenticationType());
|
||||||
|
*pvToken = pHttpContext->GetUser()->GetPrimaryToken();
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// End of export
|
// End of export
|
||||||
Loading…
Reference in New Issue