Changeset 15546 for branches/HiveProjectManagement
- Timestamp:
- 12/19/17 13:22:47 (7 years ago)
- Location:
- branches/HiveProjectManagement
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveProjectManagement/HeuristicLab.Clients.Access/3.3/app.config
r15361 r15546 36 36 </bindings> 37 37 <client> 38 <endpoint address="http:// services.heuristiclab.com/AccessService-3.3/AccessService.svc"38 <endpoint address="http://hivelab.hagenberg.fhooe.at/AccessService-3.3/AccessService.svc" 39 39 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAccessService" 40 40 contract="HeuristicLab.Clients.Access.IAccessService" name="WSHttpBinding_IAccessService"> 41 41 <identity> 42 <dns value=" services.heuristiclab.com" />42 <dns value="localhost" /> 43 43 </identity> 44 44 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.Clients.Common/3.3/ClientFactory.cs
r15361 r15546 61 61 client.ClientCredentials.UserName.UserName = userName; 62 62 client.ClientCredentials.UserName.Password = password; 63 client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode. ChainTrust;63 client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None; 64 64 65 65 // we (jkarder + abeham) have disabled the revocation check for now … … 90 90 channelFactory.Credentials.UserName.UserName = userName; 91 91 channelFactory.Credentials.UserName.Password = password; 92 channelFactory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode. ChainTrust;92 channelFactory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None; 93 93 94 94 // we (jkarder + abeham) have disabled the revocation check for now -
branches/HiveProjectManagement/HeuristicLab.Clients.Hive.Slave.WindowsService/3.3/app.config
r15361 r15546 150 150 <client> 151 151 <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/> 152 <endpoint address="http:// services.heuristiclab.com/Hive-3.3/HiveService.svc"152 <endpoint address="http://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 153 153 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" 154 154 contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService"> 155 155 <identity> 156 <dns value=" services.heuristiclab.com" />156 <dns value="localhost" /> 157 157 </identity> 158 158 </endpoint> 159 <endpoint address="net.tcp:// services.heuristiclab.com/Hive-3.3/HiveService.svc"159 <endpoint address="net.tcp://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 160 160 binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService" 161 161 contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService"> 162 162 <identity> 163 <dns value=" services.heuristiclab.com" />163 <dns value="localhost" /> 164 164 </identity> 165 165 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.Clients.Hive.Slave/3.3/app.config
r15361 r15546 150 150 <client> 151 151 <endpoint name="SlaveCommunicationServiceEndpoint" address="net.pipe://localhost/HeuristicLabSlaveCom" binding="netNamedPipeBinding" contract="HeuristicLab.Clients.Hive.SlaveCore.ServiceContracts.ISlaveCommunication"/> 152 <endpoint address="http:// services.heuristiclab.com/Hive-3.3/HiveService.svc"152 <endpoint address="http://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 153 153 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" 154 154 contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService"> 155 155 <identity> 156 <dns value=" services.heuristiclab.com" />156 <dns value="localhost" /> 157 157 </identity> 158 158 </endpoint> 159 <endpoint address="net.tcp:// services.heuristiclab.com/Hive-3.3/HiveService.svc"159 <endpoint address="net.tcp://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 160 160 binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService" 161 161 contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService"> 162 162 <identity> 163 <dns value=" services.heuristiclab.com" />163 <dns value="localhost" /> 164 164 </identity> 165 165 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.Clients.Hive/3.3/app.config
r15361 r15546 71 71 </bindings> 72 72 <client> 73 <endpoint address="http:// services.heuristiclab.com/Hive-3.3/HiveService.svc"73 <endpoint address="http://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 74 74 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" 75 75 contract="HeuristicLab.Clients.Hive.IHiveService" name="WSHttpBinding_IHiveService"> 76 76 <identity> 77 <dns value=" services.heuristiclab.com" />77 <dns value="localhost" /> 78 78 </identity> 79 79 </endpoint> 80 <endpoint address="net.tcp:// services.heuristiclab.com/Hive-3.3/HiveService.svc"80 <endpoint address="net.tcp://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" 81 81 binding="netTcpBinding" bindingConfiguration="NetBinding_IHiveService" 82 82 contract="HeuristicLab.Clients.Hive.IHiveService" name="NetBinding_IHiveService"> 83 83 <identity> 84 <dns value=" services.heuristiclab.com" />84 <dns value="localhost" /> 85 85 </identity> 86 86 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.Clients.OKB/3.3/app.config
r15361 r15546 52 52 </bindings> 53 53 <client> 54 <endpoint address="http:// services.heuristiclab.com/OKB-3.3/AdministrationService.svc"54 <endpoint address="http://hivelab.hagenberg.fhooe.at/OKB-3.3/AdministrationService.svc" 55 55 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdministrationService" 56 56 contract="HeuristicLab.Clients.OKB.Administration.IAdministrationService" 57 57 name="WSHttpBinding_IAdministrationService"> 58 58 <identity> 59 <dns value=" services.heuristiclab.com" />59 <dns value="localhost" /> 60 60 </identity> 61 61 </endpoint> 62 <endpoint address="http:// services.heuristiclab.com/OKB-3.3/QueryService.svc"62 <endpoint address="http://hivelab.hagenberg.fhooe.at/OKB-3.3/QueryService.svc" 63 63 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IQueryService" 64 64 contract="HeuristicLab.Clients.OKB.Query.IQueryService" name="WSHttpBinding_IQueryService"> 65 65 <identity> 66 <dns value=" services.heuristiclab.com" />66 <dns value="localhost" /> 67 67 </identity> 68 68 </endpoint> 69 <endpoint address="net.tcp:// services.heuristiclab.com/OKB-3.3/QueryService.svc"69 <endpoint address="net.tcp://hivelab.hagenberg.fhooe.at/OKB-3.3/QueryService.svc" 70 70 binding="netTcpBinding" bindingConfiguration="NetBinding_IQueryService" 71 71 contract="HeuristicLab.Clients.OKB.Query.IQueryService" name="NetBinding_IQueryService"> 72 72 <identity> 73 <dns value=" services.heuristiclab.com" />73 <dns value="localhost" /> 74 74 </identity> 75 75 </endpoint> 76 <endpoint address="http:// services.heuristiclab.com/OKB-3.3/RunCreationService.svc"76 <endpoint address="http://hivelab.hagenberg.fhooe.at/OKB-3.3/RunCreationService.svc" 77 77 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IRunCreationService" 78 78 contract="HeuristicLab.Clients.OKB.RunCreation.IRunCreationService" 79 79 name="WSHttpBinding_IRunCreationService"> 80 80 <identity> 81 <dns value=" services.heuristiclab.com" />81 <dns value="localhost" /> 82 82 </identity> 83 83 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.PluginInfrastructure/3.3/app.config
r15361 r15546 19 19 </setting> 20 20 <setting name="UpdateLocation" serializeAs="String"> 21 <value>http:// services.heuristiclab.com/Deployment-3.3/UpdateService.svc</value>21 <value>http://hivelab.hagenberg.fhooe.at/Deployment-3.3/UpdateService.svc</value> 22 22 </setting> 23 23 <setting name="UpdateLocationAdministrationAddress" serializeAs="String"> 24 <value>http:// services.heuristiclab.com/Deployment-3.3/AdminService.svc</value>24 <value>http://hivelab.hagenberg.fhooe.at/Deployment-3.3/AdminService.svc</value> 25 25 </setting> 26 26 <setting name="StarterFormLocation" serializeAs="String"> … … 62 62 </bindings> 63 63 <client> 64 <endpoint address="http:// services.heuristiclab.com/Deployment-3.3/UpdateService.svc"64 <endpoint address="http://hivelab.hagenberg.fhooe.at/Deployment-3.3/UpdateService.svc" 65 65 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpdateService" 66 66 contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdateService" 67 67 name="WSHttpBinding_IUpdateService"> 68 68 <identity> 69 <dns value=" services.heuristiclab.com" />69 <dns value="localhost" /> 70 70 </identity> 71 71 </endpoint> 72 <endpoint address="http:// services.heuristiclab.com/Deployment-3.3/AdminService.svc"72 <endpoint address="http://hivelab.hagenberg.fhooe.at/Deployment-3.3/AdminService.svc" 73 73 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdminService" 74 74 contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdminService" 75 75 name="WSHttpBinding_IAdminService"> 76 76 <identity> 77 <dns value=" services.heuristiclab.com" />77 <dns value="localhost" /> 78 78 </identity> 79 79 </endpoint> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Daos/AssignedProjectResourceDao.cs
r15540 r15546 37 37 } 38 38 39 public void DeleteByProject AndGrantedUserId(Guid projectId, IEnumerable<Guid> resourceIds) {39 public void DeleteByProjectIdAndResourceIds(Guid projectId, IEnumerable<Guid> resourceIds) { 40 40 string paramIds = string.Join(",", resourceIds.Select(x => string.Format("'{0}'", x))); 41 41 if (!string.IsNullOrWhiteSpace(paramIds)) { 42 string query = string.Format(DeleteByGrantedUserQuery, projectId, paramIds); 42 string query = string.Format(DeleteByProjectIdAndResourceIdsQueryString, projectId, paramIds); 43 DataContext.ExecuteCommand(query); 44 } 45 } 46 47 public void DeleteByProjectIdsAndResourceIds(IEnumerable<Guid> projectIds, IEnumerable<Guid> resourceIds) { 48 string paramProjectIds = string.Join(",", projectIds.Select(x => string.Format("'{0}'", x))); 49 string paramResourceIds = string.Join(",", resourceIds.Select(x => string.Format("'{0}'", x))); 50 if (!string.IsNullOrWhiteSpace(paramResourceIds)) { 51 string query = string.Format(DeleteByProjectIdsAndResourceIdsQueryString, paramProjectIds, paramResourceIds); 43 52 DataContext.ExecuteCommand(query); 44 53 } … … 76 85 77 86 #region String queries 78 private const string DeleteBy GrantedUserQuery=87 private const string DeleteByProjectIdAndResourceIdsQueryString = 79 88 @"DELETE FROM [AssignedProjectResource] 80 89 WHERE ProjectId = '{0}' 81 90 AND ResourceId IN ({1});"; 91 private const string DeleteByProjectIdsAndResourceIdsQueryString = 92 @"DELETE FROM [AssignedProjectResource] 93 WHERE ProjectId IN ({0}) 94 AND ResourceId IN ({1});"; 82 95 private const string CheckProjectGrantedForResourcesQueryString = @" 83 96 WITH rtree AS -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Interfaces/IPersistenceManager.cs
r15497 r15546 43 43 RequiredPluginDao RequiredPluginDao { get; } 44 44 ResourceDao ResourceDao { get; } 45 ResourcePermissionDao ResourcePermissionDao { get; }46 45 SlaveDao SlaveDao { get; } 47 46 SlaveGroupDao SlaveGroupDao { get; } -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.DataAccess/3.3/Manager/PersistenceManager.cs
r15497 r15546 96 96 public ResourceDao ResourceDao { 97 97 get { return resourceDao ?? (resourceDao = new ResourceDao(dataContext)); } 98 }99 100 private ResourcePermissionDao resourcePermissionDao;101 public ResourcePermissionDao ResourcePermissionDao {102 get { return resourcePermissionDao ?? (resourcePermissionDao = new ResourcePermissionDao(dataContext)); }103 98 } 104 99 -
branches/HiveProjectManagement/HeuristicLab.Services.Hive.Web/web_services.config
r9665 r15546 97 97 <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="AspNetSqlRoleProvider" /> 98 98 <serviceCredentials> 99 <serviceCertificate findValue=" services.heuristiclab.com" x509FindType="FindBySubjectName" />99 <serviceCertificate findValue="localhost" x509FindType="FindBySubjectName" /> 100 100 <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="AspNetSqlMembershipProvider" /> 101 101 </serviceCredentials> … … 118 118 <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" name="MexTcpEndpoint" contract="IMetadataExchange"/> 119 119 <endpoint address="" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IHiveService" name="WSHttpBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/> 120 <endpoint address="net.tcp:// services.heuristiclab.com/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IHiveService" name="NetBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/>120 <endpoint address="net.tcp://hivelab.hagenberg.fhooe.at/Hive-3.3/HiveService.svc" binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IHiveService" name="NetBinding_IHiveService" contract="HeuristicLab.Services.Hive.ServiceContracts.IHiveService"/> 121 121 </service> 122 122 </services> -
branches/HiveProjectManagement/HeuristicLab.Services.Hive/3.3/HiveService.cs
r15530 r15546 841 841 842 842 #region AssignedProjectResource Methods 843 public void AssignProjectResources(Guid projectId, Guid[] resourceIds ) {844 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 845 AuthorizationManager.AuthorizeForProject Administration(projectId);843 public void AssignProjectResources(Guid projectId, Guid[] resourceIds, bool cascading) { 844 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 845 AuthorizationManager.AuthorizeForProjectResourceAdministration(projectId, resourceIds); 846 846 var pm = PersistenceManager; 847 847 using (new PerformanceLogger("AssignProjectResources")) { … … 850 850 var project = projectDao.GetById(projectId); 851 851 var assignedProjectResources = project.AssignedProjectResources.ToList(); 852 853 // TODO-JAN854 if (!RoleVerifier.IsInRole(HiveRoles.Administrator))855 AuthorizeForResources(pm, project, resourceIds);856 852 857 853 foreach (var id in resourceIds) { … … 862 858 } 863 859 } 864 pm.SubmitChanges(); 865 }); 866 } 867 } 868 869 public void UnassignProjectResources(Guid projectId, Guid[] resourceIds) { 870 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 871 AuthorizationManager.AuthorizeForProjectAdministration(projectId); 872 // TODO-JAN: adjust Authorization Method 873 // only users who are owners of a parent project of projectId are allowed to manage resources 874 // these users can only those resources which are already assigned to 875 // (1) the nearest parent they own 876 // (2) to any of the parent they own 860 if(cascading) { 861 var childProjects = projectDao.GetChildProjectsById(projectId); 862 foreach(var p in childProjects) { 863 p.AssignedProjectResources.Clear(); 864 foreach(var id in resourceIds) { 865 p.AssignedProjectResources.Add(new DA.AssignedProjectResource { 866 ResourceId = id 867 }); 868 } 869 } 870 } 871 pm.SubmitChanges(); 872 }); 873 } 874 } 875 876 public void UnassignProjectResources(Guid projectId, Guid[] resourceIds, bool cascading) { 877 RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client); 878 AuthorizationManager.AuthorizeForProjectResourceAdministration(projectId, resourceIds); 877 879 var pm = PersistenceManager; 878 880 using (new PerformanceLogger("UnassignProjectResources")) { 879 881 var assignedProjectResourceDao = pm.AssignedProjectResourceDao; 880 pm.UseTransaction(() => { 881 assignedProjectResourceDao.DeleteByProjectAndGrantedUserId(projectId, resourceIds); 882 var projectDao = pm.ProjectDao; 883 pm.UseTransaction(() => { 884 if(cascading) { 885 var childProjectIds = projectDao.GetChildProjectIdsById(projectId); 886 assignedProjectResourceDao.DeleteByProjectIdsAndResourceIds(childProjectIds, resourceIds); 887 } 888 assignedProjectResourceDao.DeleteByProjectIdAndResourceIds(projectId, resourceIds); 882 889 pm.SubmitChanges(); 883 890 }); … … 1236 1243 } 1237 1244 } 1238 1239 // Check if the current user is authorized to administer resourceIds 1240 private void AuthorizeForResource(IPersistenceManager pm, DA.Project project, Guid[] resourceIds) { 1241 var projectDao = pm.ProjectDao; 1242 var resourceDao = pm.ResourceDao; 1243 1244 var projectBranch = new List<DA.Project> { project }; 1245 projectBranch.AddRange(projectDao.GetParentProjectsById(project.ProjectId)); 1246 var ownedProjects = projectBranch.Where(x => x.OwnerUserId == UserManager.CurrentUserId).ToList(); 1247 1248 // get all assigned resourceIds (including children) of owned projects in this branch 1249 var assignedResourceIds = ownedProjects.SelectMany(x => x.AssignedProjectResources).Select(x => x.ResourceId).ToList(); 1250 var assignedChildResourceIds = assignedResourceIds.SelectMany(x => resourceDao.GetParentResourceIdsById(x)); 1251 assignedResourceIds.AddRange(assignedChildResourceIds); 1252 1253 // look up if all resourceIds are among the assigned ones 1254 if (resourceIds.Except(assignedResourceIds).Any()) { 1255 throw new SecurityException(NOT_AUTHORIZED_RESOURCE); 1256 } 1257 } 1258 1259 // Check if the current user is authorized (i.e. is owner of the (sub)project) to set permissions 1260 // for a certain resource (resourceId) in the context of a certain project (projectId) 1261 private DA.Resource AuthorizeForResource(IPersistenceManager pm, Guid resourceId, Guid projectId) { 1262 var projectDao = pm.ProjectDao; 1263 var project = projectDao.GetById(projectId); 1264 if (project == null) throw new SecurityException(NOT_AUTHORIZED_PROJECT); // if project does not exist 1265 1266 var resourceDao = pm.ResourceDao; 1267 var resource = resourceDao.GetById(resourceId); 1268 if (resource == null) throw new SecurityException(NOT_AUTHORIZED_RESOURCE); // if resource does not exist 1269 1270 1271 // check if user is administrator, owner of the project or any parent project 1272 var projectTree = new List<DA.Project> { project }; 1273 projectTree.AddRange(projectDao.GetParentProjectsById(projectId)); 1274 if (!projectTree.Select(x => x.OwnerUserId).Contains(UserManager.CurrentUserId) 1275 && !RoleVerifier.IsInRole(HiveRoles.Administrator)) { 1276 throw new SecurityException(NOT_AUTHORIZED_PROJECT); 1277 } 1278 1279 // look up if resourceId is amongst the assigned ones 1280 var assignedResources = project.AssignedProjectResources.ToList(); 1281 if (assignedResources.Select(x => x.ResourceId).Contains(resourceId)) { 1282 return resource; 1283 } 1284 1285 // look up if one of the parent resourceIds is amongst the assigned ones 1286 // note: this should be faster than checking all children of the assigned 1287 // resource(-groups) for the certain resourceId 1288 var parentResourceIds = resourceDao.GetParentResourceIdsById(resourceId); 1289 if (assignedResources.Select(x => x.ResourceId) 1290 .Intersect(parentResourceIds).Count() > 0) { 1291 return resource; 1292 } 1293 1294 throw new SecurityException(NOT_AUTHORIZED_PROJECT); 1295 } 1245 1296 1246 #endregion 1297 1247 } -
branches/HiveProjectManagement/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs
r15530 r15546 162 162 #region AssignedProjectResource Methods 163 163 [OperationContract] 164 void AssignProjectResources(Guid projectId, Guid[] resourceIds );165 166 [OperationContract] 167 void UnassignProjectResources(Guid projectId, Guid[] resourceIds );164 void AssignProjectResources(Guid projectId, Guid[] resourceIds, bool cascading); 165 166 [OperationContract] 167 void UnassignProjectResources(Guid projectId, Guid[] resourceIds, bool cascading); 168 168 169 169 [OperationContract] -
branches/HiveProjectManagement/HeuristicLab.Services.WebApp/3.3/Web.config
r14748 r15546 1 <?xml version="1.0" encoding="utf-8"?>1 <?xml version="1.0"?> 2 2 <configuration> 3 3 <connectionStrings> 4 <remove name="HeuristicLab.Authentication" 5 <remove name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" 6 <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication" 7 <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3" 4 <remove name="HeuristicLab.Authentication"/> 5 <remove name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString"/> 6 <add name="HeuristicLab.Authentication" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Authentication"/> 7 <add name="HeuristicLab.Services.Hive.DataAccess.Settings.HeuristicLab_Hive_LinqConnectionString" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=HeuristicLab.Hive-3.3"/> 8 8 </connectionStrings> 9 10 9 <appSettings> 11 <add key="webpages:Version" value="3.0.0.0" 12 <add key="webpages:Enabled" value="false" 13 <add key="ClientValidationEnabled" value="true" 14 <add key="UnobtrusiveJavaScriptEnabled" value="true" 10 <add key="webpages:Version" value="3.0.0.0"/> 11 <add key="webpages:Enabled" value="false"/> 12 <add key="ClientValidationEnabled" value="true"/> 13 <add key="UnobtrusiveJavaScriptEnabled" value="true"/> 15 14 </appSettings> 16 17 15 <system.web> 18 16 <authentication mode="Forms"> 19 <forms loginUrl="~/App/Empty" timeout="2880" cookieless="UseCookies" name=".HEURISTICLABWEBAPP" 17 <forms loginUrl="~/App/Empty" timeout="2880" cookieless="UseCookies" name=".HEURISTICLABWEBAPP"/> 20 18 </authentication> 21 <compilation debug=" false" targetFramework="4.5"/>22 <httpRuntime targetFramework="4.5" 19 <compilation debug="true" targetFramework="4.5"/> 20 <httpRuntime targetFramework="4.5"/> 23 21 <membership defaultProvider="AspNetSqlMembershipProvider"> 24 22 <providers> 25 <clear /> 26 <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" 27 requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8" 28 minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5" /> 23 <clear/> 24 <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="HeuristicLab.Authentication" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" applicationName="HeuristicLab.Authentication" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" maxInvalidPasswordAttempts="5"/> 29 25 </providers> 30 26 </membership> 31 27 <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> 32 28 <providers> 33 <clear 34 <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication" 29 <clear/> 30 <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="HeuristicLab.Authentication" applicationName="HeuristicLab.Authentication"/> 35 31 </providers> 36 32 </roleManager> 37 33 </system.web> 38 39 34 <system.webServer> 40 35 <modules> 41 <remove name="FormsAuthentication" 42 <remove name="DefaultAuthentication" 43 <remove name="RoleManager" 44 <remove name="UrlAuthorization" 45 <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" 46 <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" 47 <add name="RoleManager" type="System.Web.Security.RoleManagerModule" 48 <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" 36 <remove name="FormsAuthentication"/> 37 <remove name="DefaultAuthentication"/> 38 <remove name="RoleManager"/> 39 <remove name="UrlAuthorization"/> 40 <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/> 41 <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule"/> 42 <add name="RoleManager" type="System.Web.Security.RoleManagerModule"/> 43 <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/> 49 44 </modules> 50 45 <handlers> 51 <remove name="ExtensionlessUrlHandler-Integrated-4.0" 52 <remove name="OPTIONSVerbHandler" 53 <remove name="TRACEVerbHandler" 54 <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" 46 <remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 47 <remove name="OPTIONSVerbHandler"/> 48 <remove name="TRACEVerbHandler"/> 49 <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/> 55 50 </handlers> 56 51 </system.webServer> 57 58 52 <runtime> 59 53 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 60 54 <dependentAssembly> 61 <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" 62 <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" 55 <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed"/> 56 <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/> 63 57 </dependentAssembly> 64 58 <dependentAssembly> 65 <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" 66 <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" 59 <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/> 60 <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/> 67 61 </dependentAssembly> 68 62 <dependentAssembly> 69 <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" 70 <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" 63 <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/> 64 <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/> 71 65 </dependentAssembly> 72 66 <dependentAssembly> 73 <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" 74 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" 67 <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/> 68 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> 75 69 </dependentAssembly> 76 70 <dependentAssembly> 77 <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" 78 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" 71 <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/> 72 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/> 79 73 </dependentAssembly> 80 74 <dependentAssembly> 81 <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" 82 <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" 75 <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> 76 <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/> 83 77 </dependentAssembly> 84 78 <dependentAssembly> 85 <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" 86 <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" 79 <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral"/> 80 <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/> 87 81 </dependentAssembly> 88 82 </assemblyBinding>
Note: See TracChangeset
for help on using the changeset viewer.