diff --git a/Extensions/xIdentityModelsExtensions.cs b/Extensions/xIdentityModelsExtensions.cs index 654c29e..e315a67 100644 --- a/Extensions/xIdentityModelsExtensions.cs +++ b/Extensions/xIdentityModelsExtensions.cs @@ -4,6 +4,7 @@ using xCommons.Extensions; using xIdentityModels.Configurations; using xIdentityModels.Constants; using xIdentityModels.Dtos; +using xIdentityModels.Models; namespace xIdentityModels.Extensions { @@ -148,6 +149,29 @@ namespace xIdentityModels.Extensions return result; } + /// + /// Check Specified User Has Access to Provided Roles ... + /// + /// + /// + /// + public static bool HasAccess( + this XUserClaimsInfoDto source, + string[] roles + ) + { + // + var result = + !source.IsNullOrDefault() && + source.Roles + .Any(r => roles + .Any(ar => r.ToNormalString() + .Contains(ar.ToNormalString()))); + + // + return result; + } + /// /// Check Specified User Contains Specified UserSelectByParam or not ... ///