示例#1
0
        public List <string> TrenutniSadrzajFajlSistema(string username, string kolab)
        {
            string uloga = Autorizacija(username);

            if (uloga == "Korisnik")
            {
                if (kolab != "NULL")
                {
                    if (!EntitetiBaza.ContainsKey(kolab))
                    {
                        MyException e = new MyException
                        {
                            Greska = "Ne postoji korisnik" + kolab + "!"
                        };

                        throw new FaultException <MyException>(e);
                    }



                    if (((Korisnik)EntitetiBaza[username]).StraniKolaboratori.Contains(kolab))
                    {
                        if (((Korisnik)EntitetiBaza[kolab]).MojiKolaboratori.Contains(username))
                        {
                            ActionLogs("Korisnik " + username + " je zatrazio pregled fajl sistema korisnika " + kolab);
                            return(BazaFajlSistema[kolab]);
                        }
                        else
                        {
                            MyException e = new MyException
                            {
                                Greska = "Vi niste kolaborator korisnika " + kolab
                            };

                            throw new FaultException <MyException>(e);
                        }
                    }
                    else
                    {
                        MyException e = new MyException
                        {
                            Greska = "Vi niste kolaborator korisnika " + kolab
                        };

                        throw new FaultException <MyException>(e);
                    }
                }
                ActionLogs("Korisnik " + username + " je zatrazio pregled svog fajl sistema");
                return(BazaFajlSistema[username]);
            }
            else
            {
                MyException e = new MyException
                {
                    Greska = "Niste autorizovani kao korisnik!"
                };

                throw new FaultException <MyException>(e);
            }
        }
示例#2
0
        public void ObrisiFolder(string username, string usernameKorisnik, string foldername)
        {
            IPrincipal principal = Thread.CurrentPrincipal;

            if (!principal.IsInRole("Delete"))
            {
                MyException ex = new MyException
                {
                    Greska = "Niste autorizovani kao admin!"
                };

                throw new FaultException <MyException>(ex);
            }

            string uloga = Autorizacija(username);

            if (uloga == "Admin")
            {
                if (!EntitetiBaza.ContainsKey(usernameKorisnik))
                {
                    MyException e = new MyException
                    {
                        Greska = "Ne postoji korisnik " + usernameKorisnik + "!"
                    };

                    throw new FaultException <MyException>(e);
                }

                string pathString = System.IO.Path.Combine(usernameKorisnik, foldername);

                if (pathString.Contains("\"") || pathString.Contains("|") || pathString.Contains("/") || pathString.Contains(">") ||
                    pathString.Contains("<") || pathString.Contains("*") || pathString.Contains("?") || pathString.Contains(":"))
                {
                    MyException e = new MyException
                    {
                        Greska = "Format nije dobar!"
                    };

                    throw new FaultException <MyException>(e);
                }

                if (System.IO.Directory.Exists(pathString))
                {
                    System.IO.Directory.Delete(pathString);
                    BazaFajlSistema[usernameKorisnik].Remove(pathString);
                    ActionLogs("Admin " + username + " " + "je obrisao folder " + foldername + " korisnika " + usernameKorisnik);
                }
            }
            else
            {
                MyException e = new MyException
                {
                    Greska = "Niste autorizovani kao admin!"
                };

                throw new FaultException <MyException>(e);
            }
        }
示例#3
0
        public void ObrisiTxt(string username, string filename, string kolab)
        {
            using ((Thread.CurrentPrincipal.Identity as WindowsIdentity).Impersonate())
            {
                try
                {
                    IPrincipal principal = Thread.CurrentPrincipal;// as MyPrincipal;

                    if (!principal.IsInRole("Delete"))
                    {
                        MyException ex = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(ex);
                    }

                    string uloga = Autorizacija(username);

                    if (uloga == "Korisnik")
                    {
                        if (kolab != "NULL")
                        {
                            if (!EntitetiBaza.ContainsKey(kolab))
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Ne postoji korisnik" + kolab + "!"
                                };

                                throw new FaultException <MyException>(e);
                            }


                            if (((Korisnik)EntitetiBaza[username]).StraniKolaboratori.Contains(kolab))
                            {
                                if (((Korisnik)EntitetiBaza[kolab]).MojiKolaboratori.Contains(username))
                                {
                                    if (!filename.Contains(".txt"))
                                    {
                                        filename += ".txt";
                                    }

                                    string pathStringKolab = System.IO.Path.Combine(kolab, filename);

                                    if (pathStringKolab.Contains("\"") || pathStringKolab.Contains("|") || pathStringKolab.Contains("/") || pathStringKolab.Contains(">") ||
                                        pathStringKolab.Contains("<") || pathStringKolab.Contains("*") || pathStringKolab.Contains("?") || pathStringKolab.Contains(":"))
                                    {
                                        MyException e = new MyException
                                        {
                                            Greska = "Format nije dobar!"
                                        };

                                        throw new FaultException <MyException>(e);
                                    }

                                    if (System.IO.File.Exists(pathStringKolab))
                                    {
                                        System.IO.File.Delete(pathStringKolab);
                                        BazaFajlSistema[kolab].Remove(pathStringKolab);
                                        ActionLogs("Korisnik " + username + " " + "je obrisao txt " + filename + " korisnika kolaboratora " + kolab);
                                    }

                                    return;
                                }
                                else
                                {
                                    MyException e = new MyException
                                    {
                                        Greska = "Vi niste kolaborator korisnika " + kolab
                                    };

                                    throw new FaultException <MyException>(e);
                                }
                            }
                            else
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Vi niste kolaborator korisnika " + kolab
                                };

                                throw new FaultException <MyException>(e);
                            }
                        }


                        if (!filename.Contains(".txt"))
                        {
                            filename += ".txt";
                        }

                        string pathString = System.IO.Path.Combine(username, filename);

                        if (pathString.Contains("\"") || pathString.Contains("|") || pathString.Contains("/") || pathString.Contains(">") ||
                            pathString.Contains("<") || pathString.Contains("*") || pathString.Contains("?") || pathString.Contains(":"))
                        {
                            MyException e = new MyException
                            {
                                Greska = "Format nije dobar!"
                            };

                            throw new FaultException <MyException>(e);
                        }

                        if (System.IO.File.Exists(pathString))
                        {
                            System.IO.File.Delete(pathString);
                            BazaFajlSistema[username].Remove(pathString);
                            ActionLogs("Korisnik " + username + " " + "je obrisao txt " + filename);
                        }
                    }
                    else
                    {
                        MyException e = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(e);
                    }
                }
                catch (UnauthorizedAccessException)
                {
                    MyException ex = new MyException
                    {
                        Greska = "Niste autorizovani kao Korisnik!"
                    };

                    throw new FaultException <MyException>(ex);
                }
            }
        }
示例#4
0
        public void ModifikujFolder(string username, string foldername, string newFoldername, string kolab)
        {
            using ((Thread.CurrentPrincipal.Identity as WindowsIdentity).Impersonate())
            {
                try
                {
                    IPrincipal principal = Thread.CurrentPrincipal;// as MyPrincipal;

                    if (!principal.IsInRole("Modify"))
                    {
                        MyException ex = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(ex);
                    }

                    string uloga = Autorizacija(username);

                    if (uloga == "Korisnik")
                    {
                        if (kolab != "NULL")
                        {
                            if (!EntitetiBaza.ContainsKey(kolab))
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Ne postoji korisnik" + kolab + "!"
                                };

                                throw new FaultException <MyException>(e);
                            }

                            if (((Korisnik)EntitetiBaza[username]).StraniKolaboratori.Contains(kolab))
                            {
                                if (((Korisnik)EntitetiBaza[kolab]).MojiKolaboratori.Contains(username))
                                {
                                    string pathStringKolab    = System.IO.Path.Combine(kolab, foldername);
                                    string newPathStringKolab = System.IO.Path.Combine(kolab, newFoldername);

                                    if (newPathStringKolab.Contains("\"") || newPathStringKolab.Contains("|") || newPathStringKolab.Contains("/") || newPathStringKolab.Contains(">") ||
                                        newPathStringKolab.Contains("<") || newPathStringKolab.Contains("*") || newPathStringKolab.Contains("?") || newPathStringKolab.Contains(":"))
                                    {
                                        MyException e = new MyException
                                        {
                                            Greska = "Format nije dobar!"
                                        };

                                        throw new FaultException <MyException>(e);
                                    }

                                    if (System.IO.Directory.Exists(pathStringKolab))
                                    {
                                        System.IO.Directory.Move(pathStringKolab, newPathStringKolab);

                                        int index = BazaFajlSistema[kolab].IndexOf(pathStringKolab);
                                        BazaFajlSistema[kolab][index] = newPathStringKolab;
                                        ActionLogs("Korisnik " + username + " " + "je preimenovao folder " + foldername + " korisnika kolaboratora" + kolab + " u " + newFoldername);
                                    }


                                    return;
                                }
                                else
                                {
                                    MyException e = new MyException
                                    {
                                        Greska = "Vi niste kolaborator korisnika " + kolab
                                    };

                                    throw new FaultException <MyException>(e);
                                }
                            }
                            else
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Vi niste kolaborator korisnika " + kolab
                                };

                                throw new FaultException <MyException>(e);
                            }
                        }


                        string pathString    = System.IO.Path.Combine(username, foldername);
                        string newPathString = System.IO.Path.Combine(username, newFoldername);

                        if (newPathString.Contains("\"") || newPathString.Contains("|") || newPathString.Contains("/") || newPathString.Contains(">") ||
                            newPathString.Contains("<") || newPathString.Contains("*") || newPathString.Contains("?") || newPathString.Contains(":"))
                        {
                            MyException e = new MyException
                            {
                                Greska = "Format nije dobar!"
                            };

                            throw new FaultException <MyException>(e);
                        }

                        if (System.IO.Directory.Exists(pathString))
                        {
                            System.IO.Directory.Move(pathString, newPathString);

                            int index = BazaFajlSistema[username].IndexOf(pathString);
                            BazaFajlSistema[username][index] = newPathString;
                            ActionLogs("Korisnik " + username + " " + "je preimenovao folder " + foldername + " u " + newFoldername);
                        }
                    }
                    else
                    {
                        MyException e = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(e);
                    }
                }
                catch (UnauthorizedAccessException)
                {
                    MyException ex = new MyException
                    {
                        Greska = "Niste autorizovani kao Korisnik!"
                    };

                    throw new FaultException <MyException>(ex);
                }
            }
        }
示例#5
0
        public void ModifikujTxt(string username, string filename, string noviSadrzaj, string kolab)
        {
            using ((Thread.CurrentPrincipal.Identity as WindowsIdentity).Impersonate())
            {
                try
                {
                    IPrincipal principal = Thread.CurrentPrincipal;// as MyPrincipal;

                    if (!principal.IsInRole("Modify"))
                    {
                        MyException ex = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(ex);
                    }

                    string uloga = Autorizacija(username);

                    if (uloga == "Korisnik")
                    {
                        if (kolab != "NULL")
                        {
                            if (!EntitetiBaza.ContainsKey(kolab))
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Ne postoji korisnik" + kolab + "!"
                                };

                                throw new FaultException <MyException>(e);
                            }

                            if (((Korisnik)EntitetiBaza[username]).StraniKolaboratori.Contains(kolab))
                            {
                                if (((Korisnik)EntitetiBaza[kolab]).MojiKolaboratori.Contains(username))
                                {
                                    if (!filename.Contains(".txt"))
                                    {
                                        filename += ".txt";
                                    }

                                    string pathStringKolab = System.IO.Path.Combine(kolab, filename);

                                    if (pathStringKolab.Contains("\"") || pathStringKolab.Contains("|") || pathStringKolab.Contains("/") || pathStringKolab.Contains(">") ||
                                        pathStringKolab.Contains("<") || pathStringKolab.Contains("*") || pathStringKolab.Contains("?") || pathStringKolab.Contains(":"))
                                    {
                                        MyException e = new MyException
                                        {
                                            Greska = "Format nije dobar!"
                                        };

                                        throw new FaultException <MyException>(e);
                                    }

                                    if (System.IO.File.Exists(pathStringKolab))
                                    {
                                        using (System.IO.StreamWriter file = new System.IO.StreamWriter(pathStringKolab, true))
                                        {
                                            file.WriteLine(noviSadrzaj);
                                            ActionLogs("Korisnik " + username + " " + "je dodao novi sadrzaj: |" + noviSadrzaj + "| u " + filename + " koji pripada korisniku kolaboratoru " + kolab);
                                        }
                                    }

                                    return;
                                }
                                else
                                {
                                    MyException e = new MyException
                                    {
                                        Greska = "Vi niste kolaborator korisnika " + kolab
                                    };

                                    throw new FaultException <MyException>(e);
                                }
                            }
                            else
                            {
                                MyException e = new MyException
                                {
                                    Greska = "Vi niste kolaborator korisnika " + kolab
                                };

                                throw new FaultException <MyException>(e);
                            }
                        }

                        if (!filename.Contains(".txt"))
                        {
                            filename += ".txt";
                        }

                        string pathString = System.IO.Path.Combine(username, filename);

                        if (pathString.Contains("\"") || pathString.Contains("|") || pathString.Contains("/") || pathString.Contains(">") ||
                            pathString.Contains("<") || pathString.Contains("*") || pathString.Contains("?") || pathString.Contains(":"))
                        {
                            MyException e = new MyException
                            {
                                Greska = "Format nije dobar!"
                            };

                            throw new FaultException <MyException>(e);
                        }

                        if (System.IO.File.Exists(pathString))
                        {
                            using (System.IO.StreamWriter file = new System.IO.StreamWriter(pathString, true))
                            {
                                file.WriteLine(noviSadrzaj);
                                ActionLogs("Korisnik " + username + " " + "je dodao novi sadrzaj: |" + noviSadrzaj + "| u " + filename);
                            }
                        }
                    }
                    else
                    {
                        MyException e = new MyException
                        {
                            Greska = "Niste autorizovani kao Korisnik!"
                        };

                        throw new FaultException <MyException>(e);
                    }
                }
                catch (UnauthorizedAccessException)
                {
                    MyException ex = new MyException
                    {
                        Greska = "Niste autorizovani kao Korisnik!"
                    };

                    throw new FaultException <MyException>(ex);
                }
            }
        }
示例#6
0
        public void ModifikujTxt(string username, string usernameKorisnik, string filename, string noviSadrzaj)
        {
            IPrincipal principal = Thread.CurrentPrincipal;

            if (!principal.IsInRole("Modify"))
            {
                MyException ex = new MyException
                {
                    Greska = "Niste autorizovani kao admin!"
                };

                throw new FaultException <MyException>(ex);
            }

            string uloga = Autorizacija(username);

            if (uloga == "Admin")
            {
                if (!EntitetiBaza.ContainsKey(usernameKorisnik))
                {
                    MyException e = new MyException
                    {
                        Greska = "Ne postoji korisnik " + usernameKorisnik + "!"
                    };

                    throw new FaultException <MyException>(e);
                }

                if (!filename.Contains(".txt"))
                {
                    filename += ".txt";
                }

                string pathString = System.IO.Path.Combine(usernameKorisnik, filename);

                if (pathString.Contains("\"") || pathString.Contains("|") || pathString.Contains("/") || pathString.Contains(">") ||
                    pathString.Contains("<") || pathString.Contains("*") || pathString.Contains("?") || pathString.Contains(":"))
                {
                    MyException e = new MyException
                    {
                        Greska = "Format nije dobar!"
                    };

                    throw new FaultException <MyException>(e);
                }

                if (System.IO.File.Exists(pathString))
                {
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(pathString, true))
                    {
                        file.WriteLine(noviSadrzaj);
                        ActionLogs("Admin " + username + " " + "je dodao novi sadrzaj: |" + noviSadrzaj + "| u " + filename + " koji pripada korisniku " + usernameKorisnik);
                    }
                }
            }
            else
            {
                MyException e = new MyException
                {
                    Greska = "Niste autorizovani kao admin!"
                };

                throw new FaultException <MyException>(e);
            }
        }