Skip to content

Commit b6422e2

Browse files
authored
check AbpAllowAnonymousAttribute on controller
1 parent 788decb commit b6422e2

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Host/Startup/SecurityRequirementsOperationFilter.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22
using System.Linq;
33
using Swashbuckle.AspNetCore.Swagger;
44
using Swashbuckle.AspNetCore.SwaggerGen;
@@ -16,10 +16,15 @@ public void Apply(Operation operation, OperationFilterContext context)
1616
return;
1717
}
1818

19+
var controllerAttrs = context.ApiDescription.ControllerAttributes();
1920
var actionAbpAuthorizeAttrs = actionAttrs.OfType<AbpAuthorizeAttribute>();
20-
var controllerAbpAuthorizeAttrs = context.ApiDescription.ControllerAttributes()
21-
.OfType<AbpAuthorizeAttribute>();
2221

22+
if (!actionAbpAuthorizeAttrs.Any() && controllerAttrs.OfType<AbpAllowAnonymousAttribute>().Any())
23+
{
24+
return;
25+
}
26+
27+
var controllerAbpAuthorizeAttrs = controllerAttrs.OfType<AbpAuthorizeAttribute>();
2328
if (controllerAbpAuthorizeAttrs.Any() || actionAbpAuthorizeAttrs.Any())
2429
{
2530
operation.Responses.Add("401", new Response { Description = "Unauthorized" });

0 commit comments

Comments
 (0)