Opc.Ua.Configuration.AccessControlEntity.Initialize C# (CSharp) Method

Initialize() public method

Extracts a single ACE from a SDDL string fragment.
public Initialize ( string sddl ) : void
sddl string
return void
        public void Initialize(string sddl)
        {
            string[] fields = sddl.Split(';');

            if (fields.Length != 6)
            {
                throw new ArgumentException(Utils.Format("Could not parse SDDL ACE string: {0}", sddl));
            }
            
            m_accessType = fields[0];
            m_flags = fields[1];
            m_rights = fields[2];
            m_objectGuid = fields[3];
            m_inheritObjectGuid = fields[4];
            m_accountSid = fields[5];
        }

Usage Example

コード例 #1
0
        /// <summary>
        /// Extracts a list of ACEs from a SDDL string.
        /// </summary>
        public static IList <AccessControlEntity> Parse(string sddl)
        {
            List <AccessControlEntity> entities = new List <AccessControlEntity>();

            if (!sddl.StartsWith("D:", StringComparison.Ordinal))
            {
                throw new ArgumentException(Utils.Format("Could not parse SDDL string: {0}", sddl));
            }

            sddl = sddl.Substring(2, sddl.Length - 2);

            string[] aces = sddl.Split('(', ')');

            for (int ii = 0; ii < aces.Length; ii++)
            {
                if (String.IsNullOrEmpty(aces[ii]))
                {
                    continue;
                }

                AccessControlEntity entity = new AccessControlEntity();
                entity.Initialize(aces[ii]);
                entities.Add(entity);
            }

            return(entities);
        }
All Usage Examples Of Opc.Ua.Configuration.AccessControlEntity::Initialize
AccessControlEntity