/// <summary> /// Initializes a new instance of the BrokerAuthorization class /// authorize based on current user and an ACL /// </summary> /// <param name="sddl">indicating sddl</param> /// <param name="desiredAccess">indicating desired access</param> /// <param name="genericRead">indicating the generic read</param> /// <param name="genericWrite">indicating the generic write</param> /// <param name="genericExecute">indicating the generic execute</param> /// <param name="genericAll">indicating the generic all</param> public BrokerAuthorization(string sddl, int desiredAccess, int genericRead, int genericWrite, int genericExecute, int genericAll) { if (!string.IsNullOrEmpty(sddl)) { this.sddl = sddl; this.sd = SecurityDescriptor.FromSddl(sddl); } this.desiredAccess = desiredAccess; this.genericRightsMapping = new SecurityDescriptorNativeMethods.GENERIC_MAPPING(genericRead, genericWrite, genericExecute, genericAll); }
/// <summary> /// Initializes a new instance of the BrokerAuthorization class /// </summary> /// <param name="info">indicating the serialization info</param> /// <param name="context">indicating the streaming context</param> protected BrokerAuthorization(SerializationInfo info, StreamingContext context) { if (info == null) { throw new System.ArgumentNullException("info"); } this.allowedUser = new SecurityIdentifier(info.GetString("allowedUser")); if (!String.IsNullOrEmpty(info.GetString("sddl"))) { this.sddl = info.GetString("sddl"); this.sd = SecurityDescriptor.FromSddl(this.sddl); this.desiredAccess = info.GetInt32("desiredAccess"); this.genericRightsMapping = new SecurityDescriptorNativeMethods.GENERIC_MAPPING( info.GetInt32("genericRead"), info.GetInt32("genericWrite"), info.GetInt32("genericExecute"), info.GetInt32("genericAll")); } }