Пример #1
0
 public override void DoAction(bool onRemote, bool isFromMe)
 {
     if (onRemote && isFromMe)
     {
         return;
     }
     PermissionEvaluator.ResetPrivate();
 }
Пример #2
0
        internal static PermissionEvaluator Parse(string src)
        {
            var result = new PermissionEvaluator();
            var sa     = src.Trim().Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);

            ParseInfo(sa[0].Trim(), result);
            ParseMembership(sa[1].Trim(), result);
            return(result);
        }
Пример #3
0
        private static void ParseMembership(string src, PermissionEvaluator newInstance)
        {
            var sa = src.Trim().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var s in sa)
            {
                var sb     = s.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                int user   = Int32.Parse(sb[0]);
                var groups = new List <int>();
                for (int i = 1; i < sb.Length; i++)
                {
                    groups.Add(Int32.Parse(sb[i]));
                }
                newInstance.membership.Add(user, groups);
            }
        }
Пример #4
0
        private static void ParseInfo(string src, PermissionEvaluator newInstance)
        {
            var sa = src.Trim().Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var s in sa)
            {
                var permInfo = PermissionInfo.Parse(s);

                var parent = newInstance.GetParentInfo(permInfo.Path);
                if (parent != null)
                {
                    parent.Children.Add(permInfo);
                }
                permInfo.Parent = parent;
                newInstance.permissionTable.Add(permInfo.Path, permInfo);
            }
        }