support both 404 andf 403 status codes in API response (404 should not log)
This commit is contained in:
		| @ -123,8 +123,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized File Get Attempt {FileId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (file != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized File Get Attempt {FileId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
| @ -144,6 +151,10 @@ namespace Oqtane.Controllers | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized File Get Attempt {Name} For Folder {FolderId}", name, folderId); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -70,8 +70,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Folder Get Attempt {FolderId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (folder != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Folder Get Attempt {FolderId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
| @ -91,8 +98,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Folder Get Attempt {Path} For Site {SiteId}", path, siteId); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (folder != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Folder Get Attempt {Path} For Site {SiteId}", path, siteId); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -89,8 +89,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Language Get Attempt {LanguageId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (language != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Language Get Attempt {LanguageId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -113,8 +113,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Module Get Attempt {ModuleId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (module != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Module Get Attempt {ModuleId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -89,15 +89,22 @@ namespace Oqtane.Controllers | ||||
|             if (int.TryParse(siteid, out SiteId) && SiteId == _alias.SiteId) | ||||
|             { | ||||
|                 ModuleDefinition moduledefinition = _moduleDefinitions.GetModuleDefinition(id, SiteId); | ||||
|                 if (_userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.PermissionList)) | ||||
|                 if (moduledefinition != null && _userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.PermissionList)) | ||||
|                 { | ||||
|                     if (string.IsNullOrEmpty(moduledefinition.Version)) moduledefinition.Version = new Version(1, 0, 0).ToString(); | ||||
|                     moduledefinition.Version = (string.IsNullOrEmpty(moduledefinition.Version)) ? new Version(1, 0, 0).ToString() : moduledefinition.Version; | ||||
|                     return moduledefinition; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized ModuleDefinition Get Attempt {ModuleDefinitionId} {SiteId}", id, siteid); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                     if (moduledefinition != null) | ||||
|                     { | ||||
|                         _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized ModuleDefinition Get Attempt {ModuleDefinitionId} {SiteId}", id, siteid); | ||||
|                         HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                     } | ||||
|                     return null; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @ -141,8 +141,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Notification Get Attempt {NotificationId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (notification != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Notification Get Attempt {NotificationId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -87,8 +87,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Page Get Attempt {PageId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (page != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Page Get Attempt {PageId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
| @ -112,6 +119,10 @@ namespace Oqtane.Controllers | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Page Get Attempt {SiteId} {Path}", siteid, path); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -44,8 +44,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized PageModule Get Attempt {PageModuleId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (pagemodule != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized PageModule Get Attempt {PageModuleId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
| @ -61,8 +68,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized PageModule Get Attempt {PageId} {ModuleId}", pageid, moduleid); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (pagemodule != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized PageModule Get Attempt {PageId} {ModuleId}", pageid, moduleid); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -56,8 +56,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Profile Get Attempt {ProfileId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (profile != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Profile Get Attempt {ProfileId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -59,9 +59,16 @@ namespace Oqtane.Controllers | ||||
|                 return role; | ||||
|             } | ||||
|             else | ||||
|             {  | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Role Get Attempt {RoleId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|             { | ||||
|                 if (role != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Role Get Attempt {RoleId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -89,11 +89,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 if (entityName != EntityNames.Visitor) | ||||
|                 if (setting != null && entityName != EntityNames.Visitor) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Read, "User Not Authorized To Access Setting {EntityName} {SettingId}", entityName, id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -79,7 +79,7 @@ namespace Oqtane.Controllers | ||||
|         private Site GetSite(int siteid) | ||||
|         { | ||||
|             var site = _sites.GetSite(siteid); | ||||
|             if (site.SiteId == _alias.SiteId) | ||||
|             if (site != null && site.SiteId == _alias.SiteId) | ||||
|             { | ||||
|                 // site settings | ||||
|                 site.Settings = _settings.GetSettings(EntityNames.Site, site.SiteId) | ||||
| @ -153,8 +153,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Site Get Attempt {SiteId}", siteid); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (site != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Site Get Attempt {SiteId}", siteid); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -55,9 +55,16 @@ namespace Oqtane.Controllers | ||||
|                 return urlMapping; | ||||
|             } | ||||
|             else | ||||
|             {  | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized UrlMapping Get Attempt {UrlMappingId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|             { | ||||
|                 if (urlMapping != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized UrlMapping Get Attempt {UrlMappingId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
| @ -73,8 +80,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized UrlMapping Get Attempt {SiteId} {Url}", siteid, url); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (urlMapping != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized UrlMapping Get Attempt {SiteId} {Url}", siteid, url); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -65,6 +65,10 @@ namespace Oqtane.Controllers | ||||
|                     user.SiteId = int.Parse(siteid); | ||||
|                     user.Roles = GetUserRoles(user.UserId, user.SiteId); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return Filter(user); | ||||
|             } | ||||
|             else | ||||
| @ -88,6 +92,10 @@ namespace Oqtane.Controllers | ||||
|                     user.SiteId = int.Parse(siteid); | ||||
|                     user.Roles = GetUserRoles(user.UserId, user.SiteId); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return Filter(user); | ||||
|             } | ||||
|             else | ||||
|  | ||||
| @ -79,8 +79,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized User Role Get Attempt {UserRoleId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (userrole != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized User Role Get Attempt {UserRoleId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -64,8 +64,15 @@ namespace Oqtane.Controllers | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Visitor Get Attempt {VisitorId}", id); | ||||
|                 HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 if (visitor != null) | ||||
|                 { | ||||
|                     _logger.Log(LogLevel.Error, this, LogFunction.Security, "Unauthorized Visitor Get Attempt {VisitorId}", id); | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.Forbidden; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound; | ||||
|                 } | ||||
|                 return null; | ||||
|             } | ||||
|         } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 sbwalker
					sbwalker