[mapguide-commits] r10036 - in trunk/MgDev: Common/MapGuideCommon/System Web/src Web/src/HttpHandler Web/src/WebSupport cmake/configs
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Mar 24 09:09:05 PDT 2023
Author: jng
Date: 2023-03-24 09:09:04 -0700 (Fri, 24 Mar 2023)
New Revision: 10036
Modified:
trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.cpp
trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.h
trunk/MgDev/Web/src/HttpHandler/HttpGetResourceContent.cpp
trunk/MgDev/Web/src/HttpHandler/HttpGetResourceData.cpp
trunk/MgDev/Web/src/HttpHandler/HttpGetResourceHeader.cpp
trunk/MgDev/Web/src/HttpHandler/HttpHandler.h
trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj
trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj.filters
trunk/MgDev/Web/src/HttpHandler/HttpHandlerBuild.cpp
trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.cpp
trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.h
trunk/MgDev/Web/src/HttpHandler/ReaderByteSourceImpl.cpp
trunk/MgDev/Web/src/WebSupport/CMakeLists.txt
trunk/MgDev/Web/src/WebSupport/InitializeWebTier.cpp
trunk/MgDev/Web/src/WebSupport/WebSupport.vcxproj
trunk/MgDev/Web/src/webconfig.ini
trunk/MgDev/cmake/configs/webconfig.ini.in
Log:
Add support for 3 new optional properties in webconfig.ini
- AnonymousDenyGetResourceContent
- AnonymousDenyGetResourceData
- AnonymousDenyGetResourceHeader
These properties accept a comma-delimited list of resource ids or resource id prefixes, which if set will deny access for the respective GETRESOURCECONTENT, GETRESOURCEDATA or GETRESOURCEHEADER operation to Anonymous users for any resource id that starts with any of the tokens defined. This way, it is flexible enough to deny access to certain resources, or entire parent folders of resources.
Fixes #2864
Modified: trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.cpp
===================================================================
--- trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -557,6 +557,12 @@
const INT32 MgConfigProperties::DefaultAgentGlobalGetWfsFeaturesLimit = 0;
const STRING MgConfigProperties::AgentGlobalGetWmsFeatureInfoLimit = L"GlobalGetWmsFeatureInfoLimit";
const INT32 MgConfigProperties::DefaultAgentGlobalGetWmsFeatureInfoLimit = 0;
+const STRING MgConfigProperties::AgentAnonymousDenyGetResourceContent = L"AnonymousDenyGetResourceContent";
+const STRING MgConfigProperties::DefaultAgentAnonymousDenyGetResourceContent = L"";
+const STRING MgConfigProperties::AgentAnonymousDenyGetResourceData = L"AnonymousDenyGetResourceData";
+const STRING MgConfigProperties::DefaultAgentAnonymousDenyGetResourceData = L"";
+const STRING MgConfigProperties::AgentAnonymousDenyGetResourceHeader = L"AnonymousDenyGetResourceHeader";
+const STRING MgConfigProperties::DefaultAgentAnonymousDenyGetResourceHeader = L"";
// ******************************************************************
// OGC Properties
Modified: trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.h
===================================================================
--- trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.h 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Common/MapGuideCommon/System/ConfigProperties.h 2023-03-24 16:09:04 UTC (rev 10036)
@@ -969,7 +969,18 @@
static const STRING AgentGlobalMaxMapFeatureQueryLimit; /// value("GlobalMaxMapFeatureQueryLimit")
static const INT32 DefaultAgentGlobalMaxMapFeatureQueryLimit; /// value(0)
+ /// A series of resource ids and/or prefixes to deny GETRESOURCE calls for Anonymous users
+ static const STRING AgentAnonymousDenyGetResourceContent; /// value("AnonymousDenyGetResourceContent")
+ static const STRING DefaultAgentAnonymousDenyGetResourceContent; /// value("")
+ /// A series of resource ids and/or prefixes to deny GETRESOURCEDATA calls for Anonymous users
+ static const STRING AgentAnonymousDenyGetResourceData; /// value("AnonymousDenyGetResourceData")
+ static const STRING DefaultAgentAnonymousDenyGetResourceData; /// value("")
+
+ /// A series of resource ids and/or prefixes to deny GETRESOURCEHEADER calls for Anonymous users
+ static const STRING AgentAnonymousDenyGetResourceHeader; /// value("AnonymousDenyGetResourceHeader")
+ static const STRING DefaultAgentAnonymousDenyGetResourceHeader; /// value("")
+
/// OGC PROPERTIES SECTION -------------------------------------------------------------------------------------------
/// Ogc properties
Modified: trunk/MgDev/Web/src/HttpHandler/HttpGetResourceContent.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpGetResourceContent.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpGetResourceContent.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -65,6 +65,19 @@
// Create MgResourceIdentifier.
MgResourceIdentifier resource(m_resourceId);
+ // Check if anonymous and that this operation should be denied
+ auto userId = GetCurrentMgUser();
+ if (userId == MgUser::Anonymous)
+ {
+ auto anonCheck = MgHttpAnonymousCheck::GetInstance();
+ if (anonCheck->ShouldDenyGetResourceContent(&resource))
+ {
+ throw new MgException(MgExceptionCodes::MgPermissionDeniedException,
+ L"MgHttpGetResourceContent.Execute",
+ __LINE__, __WFILE__, NULL, L"", NULL);
+ }
+ }
+
// Run API command.
Ptr<MgByteReader> byteReader = service->GetResourceContent(&resource);
Modified: trunk/MgDev/Web/src/HttpHandler/HttpGetResourceData.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpGetResourceData.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpGetResourceData.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -67,6 +67,19 @@
// Create MgResourceIdentifier
MgResourceIdentifier mgrIdentifier(m_resourceId);
+ // Check if anonymous and that this operation should be denied
+ auto userId = GetCurrentMgUser();
+ if (userId == MgUser::Anonymous)
+ {
+ auto anonCheck = MgHttpAnonymousCheck::GetInstance();
+ if (anonCheck->ShouldDenyGetResourceData(&mgrIdentifier))
+ {
+ throw new MgException(MgExceptionCodes::MgPermissionDeniedException,
+ L"MgHttpGetResourceContent.Execute",
+ __LINE__, __WFILE__, NULL, L"", NULL);
+ }
+ }
+
// Run API command
Ptr<MgByteReader> byteReader = mgprService->GetResourceData(&mgrIdentifier, m_dataName);
Modified: trunk/MgDev/Web/src/HttpHandler/HttpGetResourceHeader.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpGetResourceHeader.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpGetResourceHeader.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -65,6 +65,19 @@
// Create MgResourceIdentifier
MgResourceIdentifier mgrIdentifier(m_resourceId);
+ // Check if anonymous and that this operation should be denied
+ auto userId = GetCurrentMgUser();
+ if (userId == MgUser::Anonymous)
+ {
+ auto anonCheck = MgHttpAnonymousCheck::GetInstance();
+ if (anonCheck->ShouldDenyGetResourceHeader(&mgrIdentifier))
+ {
+ throw new MgException(MgExceptionCodes::MgPermissionDeniedException,
+ L"MgHttpGetResourceContent.Execute",
+ __LINE__, __WFILE__, NULL, L"", NULL);
+ }
+ }
+
// Run API command
Ptr<MgByteReader> byteReader = mgprService->GetResourceHeader(&mgrIdentifier);
Modified: trunk/MgDev/Web/src/HttpHandler/HttpHandler.h
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpHandler.h 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpHandler.h 2023-03-24 16:09:04 UTC (rev 10036)
@@ -44,6 +44,7 @@
#include "HttpRequestResponseHandler.h"
#include "HttpPrimitiveValue.h"
#include "HttpUtil.h"
+#include "HttpAnonymousCheck.h"
// dynamic creation macros
#define HTTP_DECLARE_CREATE_OBJECT() \
Modified: trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj 2023-03-24 16:09:04 UTC (rev 10036)
@@ -198,6 +198,12 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
+ <ClCompile Include="HttpAnonymousCheck.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+ </ClCompile>
<ClCompile Include="HttpApplyResourcePackage.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
@@ -1009,6 +1015,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
+ <ClInclude Include="HttpAnonymousCheck.h" />
<ClInclude Include="HttpApplyResourcePackage.h" />
<ClInclude Include="HttpChangeResourceOwner.h" />
<ClInclude Include="HttpCsTransformCoordinates.h" />
Modified: trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj.filters
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj.filters 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpHandler.vcxproj.filters 2023-03-24 16:09:04 UTC (rev 10036)
@@ -422,6 +422,7 @@
<ClCompile Include="HttpCsTransformCoordinates.cpp">
<Filter>Coordinate System</Filter>
</ClCompile>
+ <ClCompile Include="HttpAnonymousCheck.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="HttpApplyResourcePackage.h">
@@ -826,6 +827,7 @@
<ClInclude Include="HttpCsTransformCoordinates.h">
<Filter>Coordinate System</Filter>
</ClInclude>
+ <ClInclude Include="HttpAnonymousCheck.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="HttpHandler.rc" />
Modified: trunk/MgDev/Web/src/HttpHandler/HttpHandlerBuild.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpHandlerBuild.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpHandlerBuild.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -20,6 +20,7 @@
// them. The resource strings must then be initialized first
#include "HttpResourceStrings.cpp"
+#include "HttpAnonymousCheck.cpp"
#include "HttpApplyResourcePackage.cpp"
#include "HttpChangeResourceOwner.cpp"
#include "HttpClearTileCache.cpp"
Modified: trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -291,3 +291,18 @@
convert.ToJson(byteReader, m_bCleanJson);
}
}
+
+STRING MgHttpRequestResponseHandler::GetCurrentMgUser()
+{
+ auto userId = m_userInfo->GetUserName();
+ if (userId.empty())
+ {
+ Ptr<MgSite> site = m_siteConn->GetSite();
+ auto sessionId = site->GetCurrentSession();
+ if (!sessionId.empty())
+ {
+ userId = site->GetUserForSession();
+ }
+ }
+ return userId;
+}
Modified: trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.h
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.h 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/HttpRequestResponseHandler.h 2023-03-24 16:09:04 UTC (rev 10036)
@@ -122,6 +122,12 @@
/// <returns>Returns nothing</returns>
virtual void ProcessFormatConversion(Ptr<MgByteReader> &byteReader);
+ /// <summary>
+ /// Gets the current user
+ /// </summary>
+ /// <returns></returns>
+ virtual STRING GetCurrentMgUser();
+
Ptr<MgHttpRequest> m_hRequest;
STRING m_version;
STRING m_responseFormat;
Modified: trunk/MgDev/Web/src/HttpHandler/ReaderByteSourceImpl.cpp
===================================================================
--- trunk/MgDev/Web/src/HttpHandler/ReaderByteSourceImpl.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/HttpHandler/ReaderByteSourceImpl.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -297,7 +297,7 @@
//Clear out however many remaining content up to the requested
//length
- maxIndex = m_buf.length() - 1;
+ maxIndex = (INT32)m_buf.length() - 1;
if (m_bufOffset < maxIndex)
{
INT32 remaining = length - ret;
Modified: trunk/MgDev/Web/src/WebSupport/CMakeLists.txt
===================================================================
--- trunk/MgDev/Web/src/WebSupport/CMakeLists.txt 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/WebSupport/CMakeLists.txt 2023-03-24 16:09:04 UTC (rev 10036)
@@ -3,6 +3,7 @@
${MG_COMMON_DIR}/Geometry
${MG_COMMON_DIR}/PlatformBase
${MG_COMMON_DIR}/MapGuideCommon
+ ${CMAKE_CURRENT_SOURCE_DIR}/../HttpHandler
${ACE_INCLUDE_DIR}
)
@@ -18,6 +19,7 @@
MgFoundation${MG_VERSION_SUFFIX}
MgPlatformBase${MG_VERSION_SUFFIX}
MgMapGuideCommon${MG_VERSION_SUFFIX}
+ MgHttpHandler${MG_VERSION_SUFFIX}
)
# Set RPATH to avoid needing to use LD_LIBRARY_PATH in various configs
Modified: trunk/MgDev/Web/src/WebSupport/InitializeWebTier.cpp
===================================================================
--- trunk/MgDev/Web/src/WebSupport/InitializeWebTier.cpp 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/WebSupport/InitializeWebTier.cpp 2023-03-24 16:09:04 UTC (rev 10036)
@@ -16,6 +16,7 @@
//
#include "MapGuideCommon.h"
+#include "HttpHandler.h"
#include "Services/ServerConnectionPool.h"
@@ -45,6 +46,10 @@
config->LoadConfiguration(configFile);
+ // Init the Anonymous user check
+ MgHttpAnonymousCheck* anonCheck = MgHttpAnonymousCheck::GetInstance();
+ anonCheck->Init(config);
+
// Initialize resource path as well
MgResources* resources = MgResources::GetInstance();
Modified: trunk/MgDev/Web/src/WebSupport/WebSupport.vcxproj
===================================================================
--- trunk/MgDev/Web/src/WebSupport/WebSupport.vcxproj 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/WebSupport/WebSupport.vcxproj 2023-03-24 16:09:04 UTC (rev 10036)
@@ -94,7 +94,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\HttpHandler;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;WEBSUPPORT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -120,7 +120,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\HttpHandler;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;WEBSUPPORT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -147,7 +147,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\HttpHandler;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WEBSUPPORT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -175,7 +175,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\..\Common\MdfModel;..\..\..\Common\Foundation;..\..\..\Common\Geometry;..\..\..\Common\PlatformBase;..\..\..\Common\MapGuideCommon;..\HttpHandler;..\..\..\Oem\ACE\ACE_wrappers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;WEBSUPPORT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -219,6 +219,9 @@
<Project>{f7334b1b-0efa-47e3-8e66-df158e61b7e4}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
+ <ProjectReference Include="..\HttpHandler\HttpHandler.vcxproj">
+ <Project>{78619d0e-d3f9-4ddf-b90e-f99cb03dfc44}</Project>
+ </ProjectReference>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="WebSupport.rc" />
Modified: trunk/MgDev/Web/src/webconfig.ini
===================================================================
--- trunk/MgDev/Web/src/webconfig.ini 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/Web/src/webconfig.ini 2023-03-24 16:09:04 UTC (rev 10036)
@@ -158,6 +158,18 @@
# GlobalMaxMapFeatureQueryLimit If set, and greater than 0, defines a global
# feature query limit for any operation that
# returns feature data for a map query
+# AnonymousDenyGetResourceContent An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCECONTENT calls for
+# Anonymous users
+# AnonymousDenyGetResourceData An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCEDATA calls for
+# Anonymous users
+# AnonymousDenyGetResourceHeader An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCEHEADER calls for
+# Anonymous users
# *****************************************************************************
DebugPause = 0
DisableAuthoring = 0
@@ -169,6 +181,9 @@
RequestLogFilename = Request.log
GlobalMaxFeatureQueryLimit =
GlobalMaxMapFeatureQueryLimit =
+AnonymousDenyGetResourceContent =
+AnonymousDenyGetResourceData =
+AnonymousDenyGetResourceHeader =
[OgcProperties]
# *****************************************************************************
Modified: trunk/MgDev/cmake/configs/webconfig.ini.in
===================================================================
--- trunk/MgDev/cmake/configs/webconfig.ini.in 2023-03-20 15:32:40 UTC (rev 10035)
+++ trunk/MgDev/cmake/configs/webconfig.ini.in 2023-03-24 16:09:04 UTC (rev 10036)
@@ -41,6 +41,7 @@
#
# LogsPath Path where log files are stored
# MentorDictionaryPath The path where the CS-Map Coordinate System Dictionaries are installed
+# MentorUserDictionaryPath The path where user defined CS-Map Coordinate System Dictionaries are stored
# ResourcesPath Path where the localization resource files are stored
# TcpIpMtu The TCP/IP maximum transmission unit
# 0 < Value <= 65535
@@ -59,6 +60,7 @@
DefaultMessageLocale = en
LogsPath = @MG_WWWROOT_ABS@/Logs/
MentorDictionaryPath = @MG_INSTALL_COORDSYS_PREFIX_ABS@
+MentorUserDictionaryPath =
ResourcesPath = @MG_WWWROOT_ABS@/Resources/
TcpIpMtu = 1460
TempPath = @MG_INSTALL_WEB_PREFIX_ABS@/Temp/
@@ -150,6 +152,24 @@
# ErrorLogFilename Name of the log file
# RequestLogEnabled 0 = log disabled, 1 = log enabled
# RequestLogFilename Name of the log file
+# GlobalMaxFeatureQueryLimit If set, and greater than 0, defines a global
+# feature query limit for any operation that
+# returns feature data
+# GlobalMaxMapFeatureQueryLimit If set, and greater than 0, defines a global
+# feature query limit for any operation that
+# returns feature data for a map query
+# AnonymousDenyGetResourceContent An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCECONTENT calls for
+# Anonymous users
+# AnonymousDenyGetResourceData An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCEDATA calls for
+# Anonymous users
+# AnonymousDenyGetResourceHeader An optional comma-delimited list of resource
+# ids or resource id prefixes that should be
+# denied access to GETRESOURCEHEADER calls for
+# Anonymous users
# *****************************************************************************
DebugPause = 0
DisableAuthoring = 0
@@ -159,6 +179,11 @@
ErrorLogFilename = Error.log
RequestLogEnabled = 0
RequestLogFilename = Request.log
+GlobalMaxFeatureQueryLimit =
+GlobalMaxMapFeatureQueryLimit =
+AnonymousDenyGetResourceContent =
+AnonymousDenyGetResourceData =
+AnonymousDenyGetResourceHeader =
[OgcProperties]
# *****************************************************************************
@@ -176,11 +201,19 @@
# CITEWmsEnabled Enable OGC CITE Test for WMS
# Consider unknown requests as OGC Wms HTTP requests
# 0 = false and 1 = true
+# GlobalGetWfsFeaturesLimit If set, and greater than 0, defines a global
+# feature query limit for any GetWfsFeatures
+# operation
+# GlobalGetWmsFeatureInfoLimit If set, and greater than 0, defines a global
+# feature query limit for any GetFeatureInfo
+# operation
# *****************************************************************************
WfsPassword = wfs
WmsPassword = wms
CITEWfsEnabled = 0
CITEWmsEnabled = 0
+GlobalGetWfsFeaturesLimit =
+GlobalGetWmsFeatureInfoLimit =
[WebApplicationProperties]
# *****************************************************************************
More information about the mapguide-commits
mailing list