using Codelyzer.Analysis;
using CTA.FeatureDetection.Common.Models.Features.Base;
namespace CTA.FeatureDetection.AuthType.CompiledFeatures
{
public class WindowsImpersonationFeature : WebConfigFeature
{
///
/// Determines if Windows Impersonation is being used in a given project based on
/// Web.config settings.
///
/// Qualifications:
/// 1. Web.config uses windows impersonation:
///
///
///
///
///
///
///
///
/// Source code analysis results
/// Whether or not Windows Impersonation is used
public override bool IsPresent(AnalyzerResult analyzerResult)
{
var config = LoadWebConfig(analyzerResult.ProjectResult.ProjectRootPath);
return config.ContainsAttributeWithValue(Constants.IdentityElementPath, Constants.ImpersonateAttribute, true.ToString().ToLower());
}
}
}