Files
cms_thermo_active/Step/Controllers/WebApi/AuthorizationController.cs
T
2018-02-15 12:23:23 +01:00

36 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Web.Http;
using Step.Database.Controllers;
using Step.Model.DTOModels;
using static Step.Utils.Constants;
namespace Step.Controllers.WebApi
{
[RoutePrefix("api/authorization")]
public class AuthorizationController : ApiController
{
[Route("functions"), HttpGet]
[WebApiAuthorize(FunctionAccess = "functionAccess", Action = ACTIONS.READ)]
public IHttpActionResult GetFunctionsConfig()
{
using (FunctionsAccessController acController = new FunctionsAccessController())
{
var identity = User.Identity as ClaimsIdentity;
var userRoleLevel = identity.Claims.Where(c => c.Type == ROLE_LEVEL_KEY).SingleOrDefault();
List<DTOFunctionAccessModel> functionsList = acController.GetFunctionsAccess(Convert.ToInt32(userRoleLevel.Value));
if (functionsList == null)
return NotFound();
return Ok(functionsList);
}
}
}
}