using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using System; using System.Net.Mime; using System.Security.Claims; namespace HanyadikHetVan.Controllers.V1 { [ApiVersion("1.0")] [Route("api/v{version:apiVersion}/[controller]")] [ApiController] public class TestController : Controller { private UserManager _userManager; public TestController(UserManager userManager) { _userManager = userManager ?? throw new ArgumentNullException(nameof(userManager)); } [HttpGet("unprotected")] [Produces(MediaTypeNames.Application.Json)] public string Unprotected() { return "Unprotected"; } [Authorize] [HttpGet("protected")] [Produces(MediaTypeNames.Application.Json)] public string Protected() { return this.User.FindFirst(ClaimTypes.NameIdentifier).Value; } [Authorize(Roles = "admin")] [HttpGet("roleprotected")] [Produces(MediaTypeNames.Application.Json)] public string RoleProtected() { return this.User.FindFirst(ClaimTypes.NameIdentifier).Value; } } }