コード例 #1
0
ファイル: Configuration.cs プロジェクト: worm929/RiotControl
        public void Upgrade()
        {
            //This is used to upgrade old configuration formats
            if (Privileges.Count == 0)
            {
                //Unluckily lists default to empty lists instead of null so there is no nicer way to detect the necessity of an upgrade unless we stop using the current XML serialisation scheme without any further customisations
                PrivilegeClass privilegedClass = new PrivilegeClass();
                privilegedClass.EnabledAPIFunctions.AddRange(WebService.NonPrivilegedHandlers);
                privilegedClass.EnabledAPIFunctions.AddRange(WebService.PrivilegedHandlers);
                privilegedClass.Addresses.Add("127.0.0.1");

                PrivilegeClass nonPrivilegedClass = new PrivilegeClass();
                nonPrivilegedClass.EnabledAPIFunctions.AddRange(WebService.NonPrivilegedHandlers);
                nonPrivilegedClass.MatchAllAddresses = true;

                Privileges.Add(privilegedClass);
                Privileges.Add(nonPrivilegedClass);
            }

            //Old configuration formats didn't permit customised connection strings
            if (Database == "RiotControl.sqlite")
            {
                Database = string.Format("Data Source = {0}", Database);
            }
        }
コード例 #2
0
        List <string> GetPrivileges(Request request)
        {
            PrivilegeClass privilegeClass = GetRequestClass(request);

            if (privilegeClass == null)
            {
                return(new List <string>());
            }
            else
            {
                return(privilegeClass.EnabledAPIFunctions);
            }
        }
コード例 #3
0
ファイル: Configuration.cs プロジェクト: Rejna/RiotControl
        public void Upgrade()
        {
            //This is used to upgrade old configuration formats
            if (Privileges.Count == 0)
            {
                //Unluckily lists default to empty lists instead of null so there is no nicer way to detect the necessity of an upgrade unless we stop using the current XML serialisation scheme without any further customisations
                PrivilegeClass privilegedClass = new PrivilegeClass();
                privilegedClass.EnabledAPIFunctions.AddRange(WebService.NonPrivilegedHandlers);
                privilegedClass.EnabledAPIFunctions.AddRange(WebService.PrivilegedHandlers);
                privilegedClass.Addresses.Add("127.0.0.1");

                PrivilegeClass nonPrivilegedClass = new PrivilegeClass();
                nonPrivilegedClass.EnabledAPIFunctions.AddRange(WebService.NonPrivilegedHandlers);
                nonPrivilegedClass.MatchAllAddresses = true;

                Privileges.Add(privilegedClass);
                Privileges.Add(nonPrivilegedClass);
            }

            //Old configuration formats didn't permit customised connection strings
            if (Database == "RiotControl.sqlite")
                Database = string.Format("Data Source = {0}", Database);
        }
コード例 #4
0
        bool IsPrivileged(Request request)
        {
            PrivilegeClass privilegeClass = GetRequestClass(request);

            return(privilegeClass != null && privilegeClass.EnabledAPIFunctions.Contains(request.RequestHandler.Name));
        }