Пример #1
0
    public bool FileAllowedForUser(IUserID user, string file)
    {
        WatchingUsers users = new WatchingUsers();

        string[] filegroups = AllowedUserList(file);                     // тут группы у файла

        string[] usergroups = users.ReturnUserFileRights(user.GetValue); //



        // если в группах файла есть какаянить группа из групп пользователя - вернуть что "можно"

        for (int i = 0; i < filegroups.Length; i++)
        {
            for (int j = 0; j < usergroups.Length; j++)
            {
                if (filegroups[i].Equals(usergroups[j]))
                {
                    return(true);
                }
            }
        }


        return(false);
    }
Пример #2
0
    public override IObjects Get(IObjects request)
    {
        GetUser tmp = (GetUser)request;

        UserList basa = ReadUsers();

        // получили базу пользователей. первая часть с атрибутами. вторая с залогиненными в сети пользователями с их id шниками
        // с индекса i начинаются пользователи сейчас залогиненные

        // дальше начинается блок

        // найдем пользователя, создадим ему id и вернем. а id запишем в базу
        // тока уникальный


        WatchingUsers t = new WatchingUsers();

        int answer = t.AddPresence(tmp.log, tmp.pass);

        if (answer == -1)
        {
            return(null);
        }
        else
        {
            tmp.SetReqestedUser(new UserID(answer));
        }

        return(tmp);
    }
Пример #3
0
    public override IObjects Get(IObjects request)
    {
        LogOff tmp = (LogOff)request;

        WatchingUsers t = new WatchingUsers();

        t.RemoveUser(tmp.deleted.GetValue);

        return(null);
    }
Пример #4
0
        public IObjects SEND(ref IObjects obj)
        {
            IObjects answer = null;
            // определимся ваще есть ли такой пользователь

            WatchingUsers t = new WatchingUsers();


            bool open = false;


            if ((obj.User == null) && ((obj.ID.ToString().Equals("GetUser") || (obj.ID.ToString().Equals("LogOff")))))
            {
                open = true;
            }
            if (obj.User != null)
            {
                if (t.RetunUserRights(obj.User.GetValue) != null)
                {
                    open = true;
                }
            }


            if (open)
            {
                bool found = false;
                int  n     = 0;
                while (n < HandlerList.count && !found)
                {
                    if (HandlerList.GetList[n].RelatedRequest.Equals(obj.ID.ToString()))
                    {
                        found = true;

                        answer = HandlerList.GetList[n].Get(obj);
                    }
                    n++;
                }
            }

            return(answer);
        }
Пример #5
0
    public override IObjects Get(IObjects request)
    {
        UserRequest a;

        a = (UserRequest)request;

        UserList list = ReadUsers();

        list.changed = 0;
        WatchingUsers s = new WatchingUsers();

        string[] tmp = s.RetunUserRights(request.User.GetValue);

        if (!tmp[0].Equals("yes"))
        {
            list = null;
        }
        a.execute(ref list);

        if (list != null)
        {
            if (list.changed == 1)
            {
                WrightUsers(list);
                // записали пользователей
                // надо обновить страничку presence

                WatchingUsers t = new WatchingUsers();

                t.UpdatePresenceAfterUpdatingUsersTable(list);
            }
        }



        return(request);
    }