Exemplo n.º 1
0
        private void InitUI()
        {
            this.hostTB.Text = Settings.Store.Host;
            int port = Settings.Store.Port;

            this.portTB.Text     = Convert.ToString(port);
            this.userTB.Text     = Settings.Store.User;
            this.passwordTB.Text = Settings.Store.GetEncryptedSetting("Password");
            this.dbTB.Text       = Settings.Store.Database;
            bool useSsl = Settings.Store.UseSsl;

            this.useSslCB.Checked = useSsl;

            // User table schema settings
            this.userTableTB.Text         = Settings.Store.Table;
            this.unameColTB.Text          = Settings.Store.UsernameColumn;
            this.hashMethodColTB.Text     = Settings.Store.HashMethodColumn;
            this.passwdColTB.Text         = Settings.Store.PasswordColumn;
            this.userPrimaryKeyColTB.Text = Settings.Store.UserTablePrimaryKeyColumn;

            int encodingInt = Settings.Store.HashEncoding;

            Settings.HashEncoding encoding = (Settings.HashEncoding)encodingInt;

            if (encoding == Settings.HashEncoding.HEX)
            {
                this.encHexRB.Checked = true;
            }
            else
            {
                this.encBase64RB.Checked = true;
            }

            // Group table schema settings
            this.groupTableNameTB.Text          = Settings.Store.GroupTableName;
            this.groupNameColTB.Text            = Settings.Store.GroupNameColumn;
            this.groupTablePrimaryKeyColTB.Text = Settings.Store.GroupTablePrimaryKeyColumn;

            // User-Group table settings
            this.userGroupTableNameTB.Text  = Settings.Store.UserGroupTableName;
            this.userGroupUserFKColTB.Text  = Settings.Store.UserForeignKeyColumn;
            this.userGroupGroupFKColTB.Text = Settings.Store.GroupForeignKeyColumn;

            // Gateway rules
            List <GroupGatewayRule> gwLst = GroupRuleLoader.GetGatewayRules();

            foreach (GroupGatewayRule rule in gwLst)
            {
                this.gtwRulesListBox.Items.Add(rule);
            }
            this.gtwRuleConditionCB.SelectedIndex = 0;
        }
Exemplo n.º 2
0
        private byte[] Decode(string hash)
        {
            int encInt = Settings.Store.HashEncoding;

            Settings.HashEncoding encoding = (Settings.HashEncoding)encInt;
            if (encoding == Settings.HashEncoding.HEX)
            {
                return(FromHexString(hash));
            }
            else if (encoding == Settings.HashEncoding.BASE_64)
            {
                return(Convert.FromBase64String(hash));
            }
            else
            {
                m_logger.ErrorFormat("Unrecognized hash encoding!  This shouldn't happen.");
                throw new Exception("Unrecognized hash encoding.");
            }
        }
Exemplo n.º 3
0
        private void InitUI()
        {
            this.hostTB.Text = Settings.Store.Host;
            int port = Settings.Store.Port;
            this.portTB.Text = Convert.ToString(port);
            this.userTB.Text = Settings.Store.User;
            this.passwordTB.Text = Settings.Store.GetEncryptedSetting("Password");
            this.dbTB.Text = Settings.Store.Database;
            bool useSsl = Settings.Store.UseSsl;
            this.useSslCB.Checked = useSsl;

            // User table schema settings
            this.userTableTB.Text = Settings.Store.Table;
            this.unameColTB.Text = Settings.Store.UsernameColumn;
            this.hashMethodColTB.Text = Settings.Store.HashMethodColumn;
            this.passwdColTB.Text = Settings.Store.PasswordColumn;
            this.userPrimaryKeyColTB.Text = Settings.Store.UserTablePrimaryKeyColumn;

            int encodingInt = Settings.Store.HashEncoding;
            Settings.HashEncoding encoding = (Settings.HashEncoding)encodingInt;

            if (encoding == Settings.HashEncoding.HEX)
                this.encHexRB.Checked = true;
            else
                this.encBase64RB.Checked = true;

            // Group table schema settings
            this.groupTableNameTB.Text = Settings.Store.GroupTableName;
            this.groupNameColTB.Text = Settings.Store.GroupNameColumn;
            this.groupTablePrimaryKeyColTB.Text = Settings.Store.GroupTablePrimaryKeyColumn;

            // User-Group table settings
            this.userGroupTableNameTB.Text = Settings.Store.UserGroupTableName;
            this.userGroupUserFKColTB.Text = Settings.Store.UserForeignKeyColumn;
            this.userGroupGroupFKColTB.Text = Settings.Store.GroupForeignKeyColumn;

            /////////////// Authorization tab /////////////////
            this.cbAuthzMySqlGroupMemberOrNot.SelectedIndex = 0;
            this.cbAuthzGroupRuleAllowOrDeny.SelectedIndex = 0;

            this.ckDenyWhenMySqlAuthFails.Checked = Settings.Store.AuthzRequireMySqlAuth;

            List<GroupAuthzRule> lst = GroupRuleLoader.GetAuthzRules();
            // The last one should be the default rule
            if (lst.Count > 0 &&
                lst[lst.Count - 1].RuleCondition == GroupRule.Condition.ALWAYS)
            {
                GroupAuthzRule rule = lst[lst.Count - 1];
                if (rule.AllowOnMatch)
                    this.rbDefaultAllow.Checked = true;
                else
                    this.rbDefaultDeny.Checked = true;
                lst.RemoveAt(lst.Count - 1);
            }
            else
            {
                // The list is empty or the last rule is not a default rule.
                throw new Exception("Default rule not found in rule list.");
            }
            // The rest of the rules
            foreach (GroupAuthzRule rule in lst)
                this.listBoxAuthzRules.Items.Add(rule);

            ///////////////// Gateway tab ///////////////
            List<GroupGatewayRule> gwLst = GroupRuleLoader.GetGatewayRules();
            foreach (GroupGatewayRule rule in gwLst)
                this.gtwRulesListBox.Items.Add(rule);
            this.gtwRuleConditionCB.SelectedIndex = 0;

            this.m_preventLogonWhenServerUnreachableCb.Checked = Settings.Store.PreventLogonOnServerError;
        }