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."; }