hanyadikhetvan-dotnethf/HanyadikHetVan/Controllers/V1/TestController.cs
Torma Kristóf beab15a7ef
All checks were successful
continuous-integration/drone/push Build is passing
everything works now
2021-05-19 23:14:57 +02:00

49 lines
1.4 KiB
C#

using HanyadikHetVan.Data.Entities;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authentication.JwtBearer;
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<User> _userManager;
public TestController(UserManager<User> 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("user_role").Value;
}
[Authorize(Policy = "AdminPolicy", AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
[HttpGet("roleprotected")]
[Produces(MediaTypeNames.Application.Json)]
public string RoleProtected()
{
return this.User.FindFirst(ClaimTypes.NameIdentifier).Value;
}
}
}