public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { //Check Overrides if (IsSecurityOverride(userName)) { return(true); } //Check ACL Permissions AceCollection acl = DeserializeAcl(secDesc); foreach (AceStruct ace in acl) { if (ValidateACLPrincipal(ace.PrincipalName, userName)) { foreach (FolderOperation aclOperation in ace.FolderOperations) { if (aclOperation == requiredOperation) { return(true); } } } } return(false); }
// Overload for Folder operations public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { // If the user is the administrator, allow unrestricted access. if (0 == String.Compare(userName, m_adminUserName, true, CultureInfo.CurrentCulture)) { return(true); } AceCollection acl = DeserializeAcl(secDesc); foreach (AceStruct ace in acl) { if (0 == String.Compare(userName, ace.PrincipalName, true, CultureInfo.CurrentCulture)) { foreach (FolderOperation aclOperation in ace.FolderOperations) { if (aclOperation == requiredOperation) { return(true); } } } } return(false); }
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { if (usernames.Split(',').ToList().Contains(userName)) { return(true); } var acl = DeserializeAcl(secDesc); foreach (AceStruct ace in acl) { if (0 == string.Compare(userName, ace.PrincipalName, true, CultureInfo.CurrentCulture)) { foreach (FolderOperation operation in ace.FolderOperations) { if (operation == requiredOperation) { return(true); } } } } return(false); }
// Overload for Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { // If the user is the administrator, allow unrestricted access. if (HasUnRestrictedAccess(userName)) { return(true); } AceCollection acl = DeserializeAcl(secDesc); foreach (AceStruct ace in acl) { if (UserMatchesPrincipal(ace.PrincipalName, userToken)) { foreach (FolderOperation aclOperation in ace.FolderOperations) { if (aclOperation == requiredOperation) { return(true); } } } } return(false); }
// Overload for Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { EventLog.WriteEntry("SSRS-AZ", "CheckAccess - FolderOperation", EventLogEntryType.Information); return(true); }
// Overload for Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { return(true); }
// Overload for an array of Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation[] requiredOperations) { foreach(FolderOperation operation in requiredOperations) { if (!CheckAccess(userName, userToken, secDesc, operation)) return false; } return true; }
// Overload for Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation) { // If the user is the administrator, allow unrestricted access. if (0 == String.Compare(userName, m_adminUserName, true, CultureInfo.CurrentCulture)) return true; AceCollection acl = DeserializeAcl(secDesc); foreach(AceStruct ace in acl) { if (0 == String.Compare(userName, ace.PrincipalName, true, CultureInfo.CurrentCulture)) { foreach(FolderOperation aclOperation in ace.FolderOperations) { if (aclOperation == requiredOperation) return true; } } } return false; }
public int Add(FolderOperation operation) { return(base.InnerList.Add(operation)); }
// Overload for an array of Folder operations public bool CheckAccess( string userName, IntPtr userToken, byte[] secDesc, FolderOperation[] requiredOperations) { return true; }