Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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"));
            }
        }