コード例 #1
0
ファイル: apibase.cs プロジェクト: vantk85/openrpa
        public bool hasRight(TokenUser user, ace_right bit)
        {
            if (_acl == null)
            {
                return(true);
            }
            if (user == null)
            {
                return(true);
            }
            var ace = _acl.Where(x => x._id == user._id).FirstOrDefault();

            if (ace != null)
            {
                if (ace.getBit((decimal)bit))
                {
                    return(true);
                }
            }
            foreach (var role in user.roles)
            {
                ace = _acl.Where(x => x._id == role._id).FirstOrDefault();
                if (ace != null)
                {
                    if (ace.getBit((decimal)bit))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
コード例 #2
0
ファイル: apibase.cs プロジェクト: suxuehui/openrpa
        public void AddRight(TokenUser user, ace_right[] rights)
        {
            if (_acl == null)
            {
                _acl = new ace[] { }
            }
            ;
            var ace = _acl.Where(x => x._id == user._id).FirstOrDefault();

            if (ace == null)
            {
                ace = new ace(); _acl = _acl.Concat(new ace[] { ace }).ToArray(); ace._id = user._id; ace.name = user.name;
            }
            if (rights != null && rights.Length > 0)
            {
                for (var bit = 0; bit < 10; bit++)
                {
                    ace.unsetBit(bit);
                }
                foreach (ace_right bit in rights)
                {
                    ace.setBit((decimal)bit);
                }
            }
        }

        //public void delete()
        //{
        //    rpaactivities.socketService.instance.DELETE(_id, "workflows");
        //}
        //public void save()
        //{
        //    if (string.IsNullOrEmpty(_id))
        //    {
        //        var result = rpaactivities.socketService.instance.POST(this, "workflows");
        //        if (result != null)
        //        {
        //            _id = result._id;
        //            _type = result._type;
        //            _modified = result._modified;
        //            _modifiedby = result._modifiedby;
        //            _modifiedbyid = result._modifiedbyid;
        //            _created = result._created;
        //            _createdby = result._createdby;
        //            _createdbyid = result._createdbyid;
        //        }
        //    }
        //    else
        //    {
        //        var result = rpaactivities.socketService.instance.PUT(this, "workflows");
        //        if (result != null)
        //        {
        //            _modified = result._modified;
        //            _modifiedby = result._modifiedby;
        //            _modifiedbyid = result._modifiedbyid;
        //        }
        //    }
        //}
    }
コード例 #3
0
ファイル: apibase.cs プロジェクト: vantk85/openrpa
 public void AddRight(TokenUser user, ace_right[] rights)
 {
     AddRight(user._id, user.name, rights);
 }