public Boolean LoadFromDatabaseWithCriteria(Mercury.Server.Data.SqlDatabase sqlDatabase, String criteria) { StringBuilder selectStatement = new StringBuilder(); System.Data.DataTable tableEnvironment; selectStatement.Append("SELECT * FROM SecurityGroupPermission "); selectStatement.Append(criteria); tableEnvironment = sqlDatabase.SelectDataTable(selectStatement.ToString()); if (tableEnvironment.Rows.Count == 1) { MapDataFields(tableEnvironment.Rows[0]); isModified = false; return(true); } else { return(false); } }
public Permission(Mercury.Server.Data.SqlDatabase sqlDatabase, String forPermissionName) { if (!LoadFromDatabase(sqlDatabase, forPermissionName)) { throw new Exception("Unable to load Permission from the database for " + forPermissionName + "."); } }
public SecurityGroupPermission(Mercury.Server.Data.SqlDatabase sqlDatabase, Int64 securityAuthorityId, String securityGroupId, Int64 permissionId) { if (!LoadFromDatabase(sqlDatabase, securityAuthorityId, securityGroupId, permissionId)) { throw new Exception("Unable to load Security Group Permission."); } }
} // MapDataFields (System.Data.DataRow currentRow) public Boolean Save(Mercury.Server.Data.SqlDatabase sqlDatabase) { Boolean success = false; StringBuilder sqlStatement = new StringBuilder(); sqlStatement.Append("EXEC SecurityAuthority_InsertUpdate "); sqlStatement.Append(Id.ToString() + ", '" + NameSql + "', " + ((Int32)SecurityAuthorityType).ToString() + ", "); sqlStatement.Append("'" + Protocol + "', '" + ServerName + "', '" + Domain + "', "); sqlStatement.Append("'" + MemberContext + "', '" + ProviderContext + "', '" + AssociateContext + "', "); sqlStatement.Append("'" + AgentName + "', '" + agentPassword + "', "); sqlStatement.Append("'" + ProviderAssemblyPath + "', '" + ProviderAssemblyName + "', "); sqlStatement.Append("'" + ProviderNamespace + "', '" + ProviderClassName + "', '" + ConfigurationSection + "'"); sqlStatement.Append(", '" + modifiedAccountInfo.SecurityAuthorityNameSql + "', '" + modifiedAccountInfo.UserAccountIdSql + "', '" + modifiedAccountInfo.UserAccountNameSql + "'"); success = sqlDatabase.ExecuteSqlStatement(sqlStatement.ToString()); return(success); }
public Boolean LoadFromDatabase(Mercury.Server.Data.SqlDatabase sqlDatabase, String permission) { String criteria; criteria = "WHERE PermissionName = '" + permission + "'"; return(LoadFromDatabaseWithCriteria(sqlDatabase, criteria)); }
public Boolean LoadFromDatabase(Mercury.Server.Data.SqlDatabase sqlDatabase, Int64 securityAuthorityId, String securityGroupId, Int64 permissionId) { String criteria; criteria = "WHERE SecurityAuthorityId = '" + securityAuthorityId + "' AND SecurityGroupId = '" + securityGroupId + "' AND PermissionId = " + permissionId; return(LoadFromDatabaseWithCriteria(sqlDatabase, criteria)); }
public Boolean Delete(Mercury.Server.Data.SqlDatabase sqlDatabase) { Boolean success = false; StringBuilder sqlStatement = new StringBuilder(); sqlStatement.Append("EXEC Environment_Delete " + Id); success = sqlDatabase.ExecuteSqlStatement(sqlStatement.ToString()); return(success); }
} // MapDataFields (System.Data.DataRow currentRow) public Boolean Save(Mercury.Server.Data.SqlDatabase sqlDatabase) { Boolean success = false; StringBuilder sqlStatement = new StringBuilder(); sqlStatement.Append("EXEC SecurityGroupPermission_InsertUpdate " + securityAuthorityId + ", '" + securityGroupId + "', " + permissionId + ", "); sqlStatement.Append(Convert.ToByte(isGranted) + ", " + Convert.ToByte(isDenied)); sqlStatement.Append(", '" + modifiedAccountInfo.SecurityAuthorityName + "', '" + modifiedAccountInfo.UserAccountId + "', '" + modifiedAccountInfo.UserAccountName + "'"); success = sqlDatabase.ExecuteSqlStatement(sqlStatement.ToString()); return(success); }
public Boolean Save(Mercury.Server.Data.SqlDatabase environmentDatabase) { Boolean success = false; StringBuilder sqlStatement = new StringBuilder(); sqlStatement.Append("EXEC RolePermission_InsertUpdate "); sqlStatement.Append(roleId.ToString() + ", "); sqlStatement.Append(permissionId.ToString() + ", "); sqlStatement.Append(Convert.ToByte(isGranted) + ", "); sqlStatement.Append(Convert.ToByte(isDenied) + ", "); sqlStatement.Append("'" + modifiedAccountInfo.SecurityAuthorityNameSql + "', '" + modifiedAccountInfo.UserAccountIdSql + "', '" + modifiedAccountInfo.UserAccountNameSql + "'"); success = environmentDatabase.ExecuteSqlStatement(sqlStatement.ToString()); return(success); }
protected Mercury.Server.Session CreateSession(Mercury.Server.Security.SecurityAuthority securityAuthority, Mercury.Server.Security.AuthenticationResponse authenticationResponse, Mercury.Server.Public.Interfaces.Security.Credentials credentials, String environmentName) { Mercury.Server.Session session = null; Mercury.Server.Environment.Environment environment = null; Boolean connectionSuccess = false; if (!authenticationResponse.IsAuthenticated) { return(null); } if (environmentName != String.Empty) { environment = application.EnvironmentGet(environmentName); Mercury.Server.Data.SqlDatabase environmentDatabase = null; if (environment != null) { environmentDatabase = new Mercury.Server.Data.SqlDatabase(environment.SqlConfiguration); connectionSuccess = environmentDatabase.Connect(); } if (!connectionSuccess) { if (environmentDatabase != null) { application.SetLastException(environmentDatabase.LastException); } authenticationResponse.IsAuthenticated = false; authenticationResponse.Environments = EnvironmentsAvailable(credentials); credentials.AuthenticationError = Mercury.Server.Public.Interfaces.Security.Enumerations.AuthenticationError.MustSelectEnvironment; credentials.AuthenticationException = new Exception("Unable to connect to requested environment."); return(null); } } // empty environment or environment selection not allowed for user if ((environmentName == String.Empty) || (!((";" + EnvironmentsAvailable(credentials) + ";").Contains(";" + environmentName + ";"))) || (environment == null)) { authenticationResponse.IsAuthenticated = false; authenticationResponse.Environments = EnvironmentsAvailable(credentials); credentials.AuthenticationError = Mercury.Server.Public.Interfaces.Security.Enumerations.AuthenticationError.MustSelectEnvironment; } else { credentials.Environment = environmentName; authenticationResponse.IsAuthenticated = true; authenticationResponse.AuthenticationError = Mercury.Server.Public.Interfaces.Security.Enumerations.AuthenticationError.NoError; session = application.CreateSession(credentials); authenticationResponse.Token = session.Token; authenticationResponse.SecurityAuthorityId = session.SecurityAuthorityId; authenticationResponse.SecurityAuthorityName = session.SecurityAuthorityName; authenticationResponse.SecurityAuthorityType = session.SecurityAuthorityType; authenticationResponse.EnvironmentId = environment.Id; authenticationResponse.EnvironmentName = environment.Name; authenticationResponse.ConfidentialityStatement = environment.ConfidentialityStatement; authenticationResponse.UserAccountId = session.UserAccountId; authenticationResponse.UserAccountName = session.UserAccountName; authenticationResponse.UserDisplayName = session.UserDisplayName; authenticationResponse.GroupMembership = session.GroupMembership; authenticationResponse.RoleMembership = session.RoleMembership; authenticationResponse.EnterprisePermissionSet = session.EnterprisePermissionSet; authenticationResponse.EnvironmentPermissionSet = session.EnvironmentPermissionSet; authenticationResponse.WorkQueuePermissions = session.WorkQueuePermissions; authenticationResponse.WorkTeamMembership = session.WorkTeamMembership; } return(session); }