Пример #1
0
        public override bool CheckDBRolesForUserType(UserType user, string username, bool canRead, bool canWrite, bool hasAccessAdmin, bool hasSecurityAdmin, bool hasDDLAdmin, bool hasLogRole, out string friendlyMessage)
        {
            friendlyMessage = "";

            switch (user)
            {
            case UserType.Admin:
                return(ConfigurationManagerUtils.CheckDBAdminRoles(username, hasAccessAdmin, hasSecurityAdmin, hasDDLAdmin, canRead, canWrite, out friendlyMessage));

            case UserType.Runtime:
                return(ConfigurationManagerUtils.CheckDBLogRoles(username, canRead, canWrite, hasLogRole, uiConfiguration.AuthenticationMode, out friendlyMessage));
            }

            return(true);
        }
        public void CheckRoles(out string friendlyMessage, Source source, UserType user, string username)
        {
            try {
                bool dummy = false, owner = false, canRead = false, canWrite = false;
                bool hasAccessAdmin = false, hasDDLAdmin = false, hasSecurityAdmin = false;
                var  config = ((PlatformDatabaseConfiguration)uiConfiguration).RuntimeDatabaseConfiguration(source, user);
                try {
                    ConfigurationManagerUtils.GetDBUserRoles(username, ref dummy, ref owner, ref canRead, ref canWrite, ref hasAccessAdmin, ref hasDDLAdmin, ref hasSecurityAdmin, config);

                    switch (user)
                    {
                    case UserType.Admin:
                        if (!owner)
                        {
                            if (!ConfigurationManagerUtils.CheckDBAdminRoles(username, hasAccessAdmin, hasSecurityAdmin, hasDDLAdmin, canRead, canWrite, out friendlyMessage))
                            {
                                return;
                            }
                        }
                        break;

                    case UserType.Runtime:
                        if (!owner)
                        {
                            ConfigurationManagerUtils.CheckDBPlatformRuntimeRoles(username, canRead, canWrite, out friendlyMessage);
                            if (!friendlyMessage.IsNullOrEmpty())
                            {
                                return;
                            }
                        }
                        break;
                    }

                    if (!ConfigurationManagerUtils.CheckHubServerVersion(this, config, out friendlyMessage))
                    {
                        return;
                    }
                } catch {
                    friendlyMessage = "Database connection was successful.\r\n\r\nHowever, it was not possible to read the schema version. This may be because the schema has not been created yet.";
                    return;
                }
            } catch (Exception exception) {
                friendlyMessage = "Database connection was successful.\r\n\r\nHowever the following error ocurred while trying to read user permissions:\r\n\r\nFailed to retrieve user roles:\r\n\r\n" + exception.Message;
                return;
            }
            friendlyMessage = "Test completed successfully.";
        }