Translate() public abstract method

public abstract Translate ( Type targetType ) : IdentityReference
targetType Type
return IdentityReference
Beispiel #1
0
		public RegistryAccessRule (IdentityReference identity,
					   RegistryRights registryRights,
					   InheritanceFlags inheritanceFlags,
					   PropagationFlags propagationFlags,
					   AccessControlType type)
			// FIXME: accessMask=0 likely causes an error
			: base (identity.Translate(typeof(SecurityIdentifier)), 0, false, inheritanceFlags, propagationFlags, type)
		{
			this.rights = registryRights;
		}
        public static void SetPagingFileQuota(long sizeBytes, IdentityReference user)
        {
            string sid = user.Translate(typeof(SecurityIdentifier)).Value;

            using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
            {
                using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
                {
                    using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
                    {
                        usersQuotaKey.SetValue(pagingFileQuotaValueName, sizeBytes / Environment.SystemPageSize, RegistryValueKind.DWord);
                    }
                }
            }
        }
        public static void SetNonPagedPoolQuota(long sizeBytes, IdentityReference user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            string sid = user.Translate(typeof(SecurityIdentifier)).Value;

            using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
            {
                using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
                {
                    using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
                    {
                        usersQuotaKey.SetValue(nonPagedPoolQuotaValueName, sizeBytes / 1024 / 1024, RegistryValueKind.DWord);
                    }
                }
            }
        }
        private SafeAuthzContextHandle InitializeContextFromSid(SafeAuthzRMHandle authzRM, IdentityReference identity)
        {
            // Create the context for the user
            var securityIdentifier = (SecurityIdentifier) identity.Translate(typeof (SecurityIdentifier));
            var rawSid = new byte[securityIdentifier.BinaryLength];
            securityIdentifier.GetBinaryForm(rawSid, 0);

            SafeAuthzContextHandle userClientCtxt;
            if (!NativeMethods.AuthzInitializeContextFromSid(
                NativeMethods.AuthzInitFlags.Default,
                rawSid,
                authzRM,
                IntPtr.Zero,
                NativeMethods.LUID.NullLuid,
                IntPtr.Zero,
                out userClientCtxt))
            {
                throw new Win32Exception(Marshal.GetLastWin32Error());
            }

            return userClientCtxt;
        }
 public static bool CompareTo(this IdentityReference left, IdentityReference right)
 {
   return left != null && right != null ? left.Translate(SecurityIdentifier).ToString().Equals(right.Translate(SecurityIdentifier).ToString(), StringComparison.OrdinalIgnoreCase) : left == right;
 }
        public static void RemoveQuotas(IdentityReference user)
        {
            string sid = user.Translate(typeof(SecurityIdentifier)).Value;

            using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
            {
                using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
                {
                    quotaKey.DeleteSubKey(sid, false);
                }
            }
        }
Beispiel #7
0
        public virtual void PurgeAuditRules(IdentityReference identity)
        {
            if ( identity == null )
            {
                throw new ArgumentNullException( nameof(identity));
            }
            Contract.EndContractBlock();

            WriteLock();

            try
            {
                _securityDescriptor.PurgeAudit( identity.Translate( typeof( SecurityIdentifier )) as SecurityIdentifier );
                _saclModified = true;
            }
            finally
            {
                WriteUnlock();
            }
        }
Beispiel #8
0
        public void SetGroup( IdentityReference identity )
        {
            if ( identity == null )
            {
                throw new ArgumentNullException( nameof(identity));
            }
            Contract.EndContractBlock();

            WriteLock();

            try
            {
                _securityDescriptor.Group = identity.Translate( typeof( SecurityIdentifier )) as SecurityIdentifier;
                _groupModified = true;
            }
            finally
            {
                WriteUnlock();
            }
        }
        public static void SetWorkingSetPagesQuota(long sizeBytes, IdentityReference user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            string sid = user.Translate(typeof(SecurityIdentifier)).Value;

            using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
            {
                using (var quotaKey = hklm.CreateSubKey(SystemVirtualAddressSpaceQuotas.quotaKey))
                {
                    using (var usersQuotaKey = quotaKey.CreateSubKey(sid))
                    {
                        // this will block `testlimit -v`
                        usersQuotaKey.SetValue(workingSetPagesQuotaValueName, sizeBytes / Environment.SystemPageSize, RegistryValueKind.DWord);
                    }
                }
            }
        }
Beispiel #10
0
		internal static SecurityIdentifier SidFromIR (IdentityReference identity)
		{
			if (null == identity)
				throw new ArgumentNullException ("identity");
		
			return (SecurityIdentifier)identity.Translate (typeof (SecurityIdentifier));
		}
 public void SetOwner(IdentityReference identity)
 {
     if (identity == null)
     {
         throw new ArgumentNullException("identity");
     }
     this.WriteLock();
     try
     {
         this._securityDescriptor.Owner = identity.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier;
         this._ownerModified = true;
     }
     finally
     {
         this.WriteUnlock();
     }
 }
 public virtual void PurgeAuditRules(IdentityReference identity)
 {
     if (identity == null)
     {
         throw new ArgumentNullException("identity");
     }
     this.WriteLock();
     try
     {
         this._securityDescriptor.PurgeAudit(identity.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier);
         this._saclModified = true;
     }
     finally
     {
         this.WriteUnlock();
     }
 }
		public static void SetOwner(this MessageQueue queue, IdentityReference identity, bool ownerDefaulted = false)
		{
			var securityIdentifier = (SecurityIdentifier)identity.Translate(typeof(SecurityIdentifier));
			SetOwner(queue, securityIdentifier, ownerDefaulted);
		}