// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Security.Principal;
namespace EpicGames.Core;
///
/// Provides utility methods for checking user security contexts and permissions
///
public static class UserSecurityUtils
{
///
/// Checks if the current process is running with administrator privileges on Windows
///
/// True if process has administrator privileges
public static bool IsAdministrator()
{
if (!OperatingSystem.IsWindows())
{
return false;
}
try
{
using WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new (identity);
return principal.IsInRole(WindowsBuiltInRole.Administrator);
}
catch
{
return false;
}
}
}