using System;
using System.Collections.Generic;
using Kreta.Web.Logging.Logger;
using Kreta.Web.Security;
namespace Kreta.Web.Logger
{
///
/// Logging field renderer
///
class RequestUserRenderer : LoggingFieldRenderer
{
///
/// Render
///
/// Field
/// Context
public override void Render(string fieldName, LoggingFieldRendererContext context)
{
if (string.Compare(RequestResponseLoggingFields.Request.User, fieldName, StringComparison.OrdinalIgnoreCase) != 0)
{
return;
}
string user = context.GetFieldValue(fieldName) as string;
if (!string.IsNullOrWhiteSpace(user))
{
try
{
List roles = ClaimData.FelhasznaloSzerepCsomagok;
if (roles != null && roles.Count > 0)
{
context.SetFieldValue(fieldName, $"{user}/[{string.Join(",", roles)}]");
}
}
catch (Exception ex)
{
context.SetFieldValue(fieldName, ex.ToString());
}
}
}
}
}