Parcourir la source

multi-tenancy

MaxKey il y a 3 ans
Parent
commit
c490551aef
100 fichiers modifiés avec 980 ajouts et 440 suppressions
  1. 1 0
      maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/realm/AbstractAuthenticationRealm.java
  2. 22 1
      maxkey-core/src/main/java/org/maxkey/entity/Accounts.java
  3. 21 0
      maxkey-core/src/main/java/org/maxkey/entity/AccountsStrategy.java
  4. 24 2
      maxkey-core/src/main/java/org/maxkey/entity/GroupMember.java
  5. 25 0
      maxkey-core/src/main/java/org/maxkey/entity/GroupPrivileges.java
  6. 22 1
      maxkey-core/src/main/java/org/maxkey/entity/Groups.java
  7. 24 0
      maxkey-core/src/main/java/org/maxkey/entity/HistoryConnector.java
  8. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLogin.java
  9. 24 1
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLoginApps.java
  10. 20 1
      maxkey-core/src/main/java/org/maxkey/entity/HistoryLogs.java
  11. 18 2
      maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java
  12. 0 195
      maxkey-core/src/main/java/org/maxkey/entity/Navigations.java
  13. 20 1
      maxkey-core/src/main/java/org/maxkey/entity/Notices.java
  14. 21 0
      maxkey-core/src/main/java/org/maxkey/entity/Organizations.java
  15. 20 1
      maxkey-core/src/main/java/org/maxkey/entity/OrganizationsCast.java
  16. 22 0
      maxkey-core/src/main/java/org/maxkey/entity/Registration.java
  17. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/Resources.java
  18. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/RoleMember.java
  19. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/RolePermissions.java
  20. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/Roles.java
  21. 11 1
      maxkey-core/src/main/java/org/maxkey/entity/SocialsProvider.java
  22. 29 0
      maxkey-core/src/main/java/org/maxkey/entity/Synchronizers.java
  23. 22 1
      maxkey-core/src/main/java/org/maxkey/entity/UserInfo.java
  24. 20 1
      maxkey-core/src/main/java/org/maxkey/entity/UserInfoAdjoint.java
  25. 20 1
      maxkey-core/src/main/java/org/maxkey/entity/apps/Apps.java
  26. 24 0
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsCasDetails.java
  27. 45 16
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsFormBasedDetails.java
  28. 48 21
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsJwtDetails.java
  29. 22 2
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsOAuth20Details.java
  30. 21 1
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsSAML20Details.java
  31. 25 2
      maxkey-core/src/main/java/org/maxkey/entity/apps/AppsTokenBasedDetails.java
  32. 2 0
      maxkey-core/src/main/java/org/maxkey/entity/apps/oauth2/provider/ClientDetails.java
  33. 14 1
      maxkey-core/src/main/java/org/maxkey/entity/apps/oauth2/provider/client/BaseClientDetails.java
  34. 4 21
      maxkey-core/src/main/java/org/maxkey/persistence/db/LoginHistoryService.java
  35. 1 0
      maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java
  36. 9 8
      maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/ReportMapper.java
  37. 9 8
      maxkey-persistence/src/main/java/org/maxkey/persistence/service/ReportService.java
  38. 7 5
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AccountsMapper.xml
  39. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AccountsStrategyMapper.xml
  40. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsCasDetailsMapper.xml
  41. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsFormBasedDetailsMapper.xml
  42. 6 5
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsJwtDetailsMapper.xml
  43. 8 4
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsMapper.xml
  44. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsSaml20DetailsMapper.xml
  45. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsTokenBasedDetailsMapper.xml
  46. 4 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupMemberMapper.xml
  47. 3 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupPrivilegesMapper.xml
  48. 16 12
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupsMapper.xml
  49. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryConnectorMapper.xml
  50. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryLoginAppsMapper.xml
  51. 3 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryLoginMapper.xml
  52. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml
  53. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml
  54. 2 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/NoticesMapper.xml
  55. 7 5
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/OrganizationsMapper.xml
  56. 23 22
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/ReportMapper.xml
  57. 8 3
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/ResourcesMapper.xml
  58. 4 2
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RoleMemberMapper.xml
  59. 17 11
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RolesMapper.xml
  60. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/SocialsProviderMapper.xml
  61. 1 1
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/SynchronizersMapper.xml
  62. 6 3
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/UserInfoAdjointMapper.xml
  63. 7 4
      maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/UserInfoMapper.xml
  64. 4 1
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/AppListController.java
  65. 7 1
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/OneTimePasswordController.java
  66. 1 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistoryLoginAppsController.java
  67. 1 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistoryLoginController.java
  68. 2 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistorySystemLogsController.java
  69. 1 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/LoginSessionController.java
  70. 1 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/HistoryLoginAppAdapter.java
  71. 1 0
      maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/HistoryLogsAdapter.java
  72. 1 1
      maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/social/socialSignOnProvider.ftl
  73. 3 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/ApplicationsController.java
  74. 2 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BasicDetailsController.java
  75. 2 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/CasDetailsController.java
  76. 2 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/ExtendApiDetailsController.java
  77. 2 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/FormBasedDetailsController.java
  78. 2 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/JwtDetailsController.java
  79. 2 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/OAuth20DetailsController.java
  80. 2 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java
  81. 2 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java
  82. 3 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java
  83. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsStrategyController.java
  84. 5 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupMemberController.java
  85. 3 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupPrivilegesController.java
  86. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupsController.java
  87. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/NoticesController.java
  88. 7 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java
  89. 8 5
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/PermissionsController.java
  90. 5 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java
  91. 5 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java
  92. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RolesController.java
  93. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java
  94. 2 1
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java
  95. 4 2
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java
  96. 4 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java
  97. 13 8
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/endpoint/IndexEndpoint.java
  98. 2 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/ConnectorHistoryController.java
  99. 2 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/LoginAppsHistoryController.java
  100. 2 0
      maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/LoginHistoryController.java

+ 1 - 0
maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/realm/AbstractAuthenticationRealm.java

@@ -159,6 +159,7 @@ public abstract class AbstractAuthenticationRealm {
         historyLogin.setUserId(userInfo.getId());
         historyLogin.setUsername(userInfo.getUsername());
         historyLogin.setDisplayName(userInfo.getDisplayName());
+        historyLogin.setInstId(userInfo.getInstId());
         
         loginHistoryService.login(historyLogin);
         

+ 22 - 1
maxkey-core/src/main/java/org/maxkey/entity/Accounts.java

@@ -70,6 +70,11 @@ public class Accounts extends JpaBaseEntity implements Serializable {
     @Column
     private int status;
     
+    @Column
+    private String instId;
+    
+    private String instName;
+    
     UserInfo userInfo;
     
     private HashMap<String,OrganizationsCast> orgCast =new HashMap<String,OrganizationsCast>();
@@ -206,7 +211,23 @@ public class Accounts extends JpaBaseEntity implements Serializable {
         }
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         return "AppAccounts [uid=" + userId + ", username=" + username + ", displayName=" + displayName + ", appId="
                 + appId + ", appName=" + appName + ", relatedUsername=" + relatedUsername + ", relatedPassword="

+ 21 - 0
maxkey-core/src/main/java/org/maxkey/entity/AccountsStrategy.java

@@ -67,6 +67,11 @@ public class AccountsStrategy extends JpaBaseEntity implements Serializable {
     String modifiedBy;
     @Column
     String modifiedDate;
+    
+    @Column
+    private String instId;
+    
+    private String instName;
 
     public AccountsStrategy() {
         super();
@@ -200,6 +205,22 @@ public class AccountsStrategy extends JpaBaseEntity implements Serializable {
 		this.suffixes = suffixes;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 24 - 2
maxkey-core/src/main/java/org/maxkey/entity/GroupMember.java

@@ -53,9 +53,11 @@ public class GroupMember extends UserInfo implements Serializable{
 	private String memberName;
 	@Column
 	private String type;//User or Group
-	
 
-	
+	@Column
+	private String instId;
+
+	private String instName;
 	
 	public GroupMember(){
 		super();
@@ -165,6 +167,26 @@ public class GroupMember extends UserInfo implements Serializable{
 	}
 
 
+	public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 25 - 0
maxkey-core/src/main/java/org/maxkey/entity/GroupPrivileges.java

@@ -52,6 +52,11 @@ public class GroupPrivileges extends Apps implements Serializable{
 	@Column
 	private String appId;
 	
+	@Column
+	private String instId;
+
+	private String instName;
+	
 	public GroupPrivileges(){
 		super();
 	}
@@ -104,6 +109,26 @@ public class GroupPrivileges extends Apps implements Serializable{
 	}
 
 
+	public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 22 - 1
maxkey-core/src/main/java/org/maxkey/entity/Groups.java

@@ -68,6 +68,11 @@ public class Groups extends JpaBaseEntity implements Serializable {
     String modifiedDate;
     @Column
     int status;
+    
+	@Column
+	private String instId;
+
+	private String instName;
 
     public Groups() {
     }
@@ -202,7 +207,23 @@ public class Groups extends JpaBaseEntity implements Serializable {
         this.suspendTime = suspendTime;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("Groups [id=");

+ 24 - 0
maxkey-core/src/main/java/org/maxkey/entity/HistoryConnector.java

@@ -77,6 +77,10 @@ public class HistoryConnector  extends JpaBaseEntity  implements Serializable{
     
     String endDate;
     
+	@Column
+	private String instId;
+
+	private String instName;
    
     public String getId() {
         return id;
@@ -208,6 +212,26 @@ public class HistoryConnector  extends JpaBaseEntity  implements Serializable{
 	}
 
 
+	public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/HistoryLogin.java

@@ -75,6 +75,10 @@ public class HistoryLogin  extends JpaBaseEntity  implements Serializable{
 	String loginTime;
 	@Column
 	String logoutTime;
+	@Column
+	private String instId;
+
+	private String instName;
 	
 	int sessionStatus;
 	
@@ -237,7 +241,23 @@ public class HistoryLogin  extends JpaBaseEntity  implements Serializable{
         this.sessionStatus = sessionStatus;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("HistoryLogin [id=");

+ 24 - 1
maxkey-core/src/main/java/org/maxkey/entity/HistoryLoginApps.java

@@ -53,7 +53,10 @@ public class HistoryLoginApps extends JpaBaseEntity {
 	private String displayName;
 	@Column
 	private String loginTime;
-	
+	@Column
+	private String instId;
+
+	private String instName;
 	String startDate;
 	String endDate;
 	
@@ -210,6 +213,26 @@ public class HistoryLoginApps extends JpaBaseEntity {
 	}
 
 
+	public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 20 - 1
maxkey-core/src/main/java/org/maxkey/entity/HistoryLogs.java

@@ -61,7 +61,10 @@ public class HistoryLogs extends JpaBaseEntity implements Serializable {
     String modifiedBy;
     @Column
     String modifiedDate;
+	@Column
+	private String instId;
 
+	private String instName;
     String startDate;
     String endDate;
 
@@ -211,7 +214,23 @@ public class HistoryLogs extends JpaBaseEntity implements Serializable {
         this.endDate = endDate;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("HistoryLogs [id=");

+ 18 - 2
maxkey-core/src/main/java/org/maxkey/entity/HistorySynchronizer.java

@@ -57,7 +57,10 @@ public class HistorySynchronizer  extends JpaBaseEntity  implements Serializable
     String syncTime;
     @Column
     String result;
-    
+	@Column
+	private String instId;
+
+	private String instName;
     String startDate;
     String endDate;
     
@@ -131,7 +134,20 @@ public class HistorySynchronizer  extends JpaBaseEntity  implements Serializable
     public void setSessionId(String sessionId) {
         this.sessionId = sessionId;
     }
-    @Override
+    
+    public String getInstId() {
+		return instId;
+	}
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+	public String getInstName() {
+		return instName;
+	}
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("HistorySynchronizer [id=");

+ 0 - 195
maxkey-core/src/main/java/org/maxkey/entity/Navigations.java

@@ -1,195 +0,0 @@
-/*
- * Copyright [2020] [MaxKey of copyright http://www.maxkey.top]
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- 
-
-/**
- * 
- */
-package org.maxkey.entity;
-
-import java.util.ArrayList;
-
-import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
-
-
-
-/**
- * 
- * @author Crystal.Sea
- *
- */
-public class Navigations extends JpaBaseEntity  implements java.io.Serializable {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -9015541177872583924L;
-	
-	String id;
-	private String name;
-	private String url;
-	private String type;
-	private String target;
-	private String pId;
-	private String pName;
-	private String xPath;
-	private String hasChild;
-	private int  visible;
-	
-	
-	private ArrayList<Navigations> childNavs;
-	
-	
-	public Navigations() {
-		
-	}
-
-	/**
-	 * @return the id
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * @param id the id to set
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	public Navigations(String id, String name, String url) {
-		super();
-		this.id = id;
-		this.name = name;
-		this.url = url;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	public void setType(String type) {
-		this.type = type;
-	}
-
-	public String getTarget() {
-		return target;
-	}
-
-	public void setTarget(String target) {
-		this.target = target;
-	}
-
-	public String getpId() {
-		return pId;
-	}
-
-	public void setpId(String pId) {
-		this.pId = pId;
-	}
-
-	public String getpName() {
-		return pName;
-	}
-
-	public void setpName(String pName) {
-		this.pName = pName;
-	}
-
-	public String getxPath() {
-		return xPath;
-	}
-
-	public void setxPath(String xPath) {
-		this.xPath = xPath;
-	}
-
-	public String getHasChild() {
-		return hasChild;
-	}
-
-	public void setHasChild(String hasChild) {
-		this.hasChild = hasChild;
-	}
-
-
-	public int getVisible() {
-		return visible;
-	}
-
-	public void setVisible(int visible) {
-		this.visible = visible;
-	}
-
-
-
-	public ArrayList<Navigations> getChildNavs() {
-		return childNavs;
-	}
-
-	public void setChildNavs(ArrayList<Navigations> childNavs) {
-		this.childNavs = childNavs;
-	}
-
-	@Override
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append("Navigations [id=");
-        builder.append(id);
-        builder.append(", name=");
-        builder.append(name);
-        builder.append(", url=");
-        builder.append(url);
-        builder.append(", type=");
-        builder.append(type);
-        builder.append(", target=");
-        builder.append(target);
-        builder.append(", pId=");
-        builder.append(pId);
-        builder.append(", pName=");
-        builder.append(pName);
-        builder.append(", xPath=");
-        builder.append(xPath);
-        builder.append(", hasChild=");
-        builder.append(hasChild);
-        builder.append(", visible=");
-        builder.append(visible);
-        builder.append(", childNavs=");
-        builder.append(childNavs);
-        builder.append("]");
-        return builder.toString();
-    }
-
-
-
-}

+ 20 - 1
maxkey-core/src/main/java/org/maxkey/entity/Notices.java

@@ -63,7 +63,10 @@ public class Notices  extends JpaBaseEntity implements Serializable {
     protected String modifiedDate;
     @Column
     protected String description;
-    
+	@Column
+	private String instId;
+
+	private String instName;
     
 	public Notices() {
 
@@ -141,6 +144,22 @@ public class Notices  extends JpaBaseEntity implements Serializable {
 		this.description = description;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();

+ 21 - 0
maxkey-core/src/main/java/org/maxkey/entity/Organizations.java

@@ -95,6 +95,11 @@ public class Organizations extends JpaBaseEntity implements Serializable {
     @Column
     String modifiedDate;
     
+	@Column
+	private String instId;
+
+	private String instName;
+    
     private int isPrimary = 0;
     
     private boolean reorgNamePath;
@@ -371,6 +376,22 @@ public class Organizations extends JpaBaseEntity implements Serializable {
 		this.modifiedDate = modifiedDate;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 20 - 1
maxkey-core/src/main/java/org/maxkey/entity/OrganizationsCast.java

@@ -64,7 +64,10 @@ public class OrganizationsCast extends JpaBaseEntity implements Serializable {
     private String orgId;
     @Column
     private String orgParentId;
-    
+	@Column
+	private String instId;
+
+	private String instName;
     //重组标志
     boolean reorgNamePath;
     
@@ -185,6 +188,22 @@ public class OrganizationsCast extends JpaBaseEntity implements Serializable {
 		this.reorgNamePath = reorgNamePath;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();

+ 22 - 0
maxkey-core/src/main/java/org/maxkey/entity/Registration.java

@@ -17,6 +17,8 @@
 
 package org.maxkey.entity;
 
+import javax.persistence.Column;
+
 import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
 
 public class Registration extends JpaBaseEntity{
@@ -34,6 +36,10 @@ public class Registration extends JpaBaseEntity{
 	private String lastName;//familyName
 	private String firstName;//givenName
 	private Integer users;
+	@Column
+	private String instId;
+
+	private String instName;
 	
 	
 	/**
@@ -162,6 +168,22 @@ public class Registration extends JpaBaseEntity{
 		this.firstName = firstName;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/Resources.java

@@ -67,7 +67,11 @@ public class Resources  extends JpaBaseEntity implements Serializable {
     String modifiedBy;
     @Column
     String modifiedDate;
+	@Column
+	private String instId;
 
+	private String instName;
+	
     public Resources() {
         super();
     }
@@ -216,7 +220,23 @@ public class Resources  extends JpaBaseEntity implements Serializable {
         this.sortIndex = sortIndex;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("Resources [id=");

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/RoleMember.java

@@ -47,7 +47,11 @@ public class RoleMember extends UserInfo implements Serializable {
     private String memberName;
     @Column
     private String type;// User or Roles
+	@Column
+	private String instId;
 
+	private String instName;
+	
     public RoleMember() {
         super();
     }
@@ -100,7 +104,23 @@ public class RoleMember extends UserInfo implements Serializable {
         this.type = type;
     }
 
-    public RoleMember(String roleId, String memberId, String type) {
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	public RoleMember(String roleId, String memberId, String type) {
         super();
         this.roleId = roleId;
         this.memberId = memberId;

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/RolePermissions.java

@@ -45,7 +45,11 @@ public class RolePermissions  extends JpaBaseEntity implements Serializable {
     String resourceId;
     
     int status = ConstantsStatus.ACTIVE;
+	@Column
+	private String instId;
 
+	private String instName;
+	
     public RolePermissions() {
     }
 
@@ -111,7 +115,23 @@ public class RolePermissions  extends JpaBaseEntity implements Serializable {
         return  appId + "_" + roleId + "_" + resourceId;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("RolePermissions [id=");

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/Roles.java

@@ -57,7 +57,11 @@ public class Roles extends JpaBaseEntity implements Serializable {
     String modifiedBy;
     @Column
     String modifiedDate;
+	@Column
+	private String instId;
 
+	private String instName;
+	
     public Roles() {
         super();
     }
@@ -150,7 +154,23 @@ public class Roles extends JpaBaseEntity implements Serializable {
         this.orgIdsList = orgIdsList;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("Roles [id=");

+ 11 - 1
maxkey-core/src/main/java/org/maxkey/entity/SocialsProvider.java

@@ -62,6 +62,8 @@ public class SocialsProvider extends JpaBaseEntity implements Serializable {
     @Column
     private int status;
     @Column
+	private String instId;
+    @Column
     String createdBy;
     @Column
     String createdDate;
@@ -259,7 +261,15 @@ public class SocialsProvider extends JpaBaseEntity implements Serializable {
         this.sortIndex = sortIndex;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("SocialsProvider [id=");

+ 29 - 0
maxkey-core/src/main/java/org/maxkey/entity/Synchronizers.java

@@ -86,6 +86,11 @@ public class Synchronizers extends JpaBaseEntity implements Serializable {
     String status;
     
     String service;
+    
+	@Column
+	private String instId;
+
+	private String instName;
 
     public Synchronizers() {
     }
@@ -294,6 +299,30 @@ public class Synchronizers extends JpaBaseEntity implements Serializable {
 
 
 
+	public String getInstId() {
+		return instId;
+	}
+
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();

+ 22 - 1
maxkey-core/src/main/java/org/maxkey/entity/UserInfo.java

@@ -260,6 +260,11 @@ public class UserInfo extends JpaBaseEntity {
     @Column
     String description;
 
+	@Column
+	private String instId;
+
+	private String instName;
+	
     List<Organizations> depts;
     
     List<UserInfoAdjoint> adjoints;
@@ -1260,7 +1265,23 @@ public class UserInfo extends JpaBaseEntity {
         this.adjoints = adjoints;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();
 		builder.append("UserInfo [id=");

+ 20 - 1
maxkey-core/src/main/java/org/maxkey/entity/UserInfoAdjoint.java

@@ -90,6 +90,12 @@ public class UserInfoAdjoint extends JpaBaseEntity {
     protected String entryDate;
     @Column
     protected String quitDate;
+    
+	@Column
+	private String instId;
+
+	private String instName;
+	
     public UserInfoAdjoint() {
         super();
     }
@@ -245,7 +251,20 @@ public class UserInfoAdjoint extends JpaBaseEntity {
     public void setUserId(String userId) {
         this.userId = userId;
     }
-    @Override
+    
+    public String getInstId() {
+		return instId;
+	}
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+	public String getInstName() {
+		return instName;
+	}
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("UserInfoAdjoint [id=");

+ 20 - 1
maxkey-core/src/main/java/org/maxkey/entity/apps/Apps.java

@@ -157,7 +157,10 @@ public class Apps extends JpaBaseEntity implements Serializable {
     protected String modifiedDate;
     @Column
     protected String description;
-    
+	@Column
+	private String instId;
+
+	private String instName;
     
     protected String loginDateTime;
 
@@ -583,6 +586,22 @@ public class Apps extends JpaBaseEntity implements Serializable {
 		this.adapterName = adapterName;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();

+ 24 - 0
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsCasDetails.java

@@ -42,6 +42,10 @@ public class AppsCasDetails extends Apps {
     private Integer expires;
     @Column
     private String callbackUrl;
+	@Column
+	private String instId;
+
+	private String instName;
 
     /**
      * @return the service
@@ -75,6 +79,22 @@ public class AppsCasDetails extends Apps {
 		this.expires = expires;
 	}
 
+	public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
 	@Override
 	public String toString() {
 		StringBuilder builder = new StringBuilder();
@@ -86,6 +106,10 @@ public class AppsCasDetails extends Apps {
 		builder.append(expires);
 		builder.append(", callbackUrl=");
 		builder.append(callbackUrl);
+		builder.append(", instId=");
+		builder.append(instId);
+		builder.append(", instName=");
+		builder.append(instName);
 		builder.append("]");
 		return builder.toString();
 	}

+ 45 - 16
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsFormBasedDetails.java

@@ -50,7 +50,10 @@ public class AppsFormBasedDetails  extends Apps {
 	private String passwordAlgorithm;
 	@Column
 	private String authorizeView;
+	@Column
+	private String instId;
 
+	private String instName;
 
 	/**
 	 * 
@@ -135,21 +138,47 @@ public class AppsFormBasedDetails  extends Apps {
     }
 
 
-    @Override
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append("AppsFormBasedDetails [id=");
-        builder.append(id);
-        builder.append(", redirectUri=");
-        builder.append(redirectUri);
-        builder.append(", usernameMapping=");
-        builder.append(usernameMapping);
-        builder.append(", passwordMapping=");
-        builder.append(passwordMapping);
-        builder.append(", authorizeView=");
-        builder.append(authorizeView);
-        builder.append("]");
-        return builder.toString();
-    }
+    public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
+	@Override
+	public String toString() {
+		StringBuilder builder = new StringBuilder();
+		builder.append("AppsFormBasedDetails [id=");
+		builder.append(id);
+		builder.append(", redirectUri=");
+		builder.append(redirectUri);
+		builder.append(", usernameMapping=");
+		builder.append(usernameMapping);
+		builder.append(", passwordMapping=");
+		builder.append(passwordMapping);
+		builder.append(", passwordAlgorithm=");
+		builder.append(passwordAlgorithm);
+		builder.append(", authorizeView=");
+		builder.append(authorizeView);
+		builder.append(", instId=");
+		builder.append(instId);
+		builder.append(", instName=");
+		builder.append(instName);
+		builder.append("]");
+		return builder.toString();
+	}
 
 }

+ 48 - 21
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsJwtDetails.java

@@ -60,7 +60,10 @@ public class AppsJwtDetails  extends Apps {
 	private String algorithmKey;
 	@Column
 	private String expires;
-		
+	@Column
+	private String instId;
+
+	private String instName;	
 	
 	public AppsJwtDetails() {
 		super();
@@ -137,25 +140,49 @@ public class AppsJwtDetails  extends Apps {
     }
 
 
-    @Override
-    public String toString() {
-        StringBuilder builder = new StringBuilder();
-        builder.append("AppsTokenBasedDetails [id=");
-        builder.append(id);
-        builder.append(", redirectUri=");
-        builder.append(redirectUri);
-        builder.append(", tokenType=");
-        builder.append(tokenType);
-        builder.append(", cookieName=");
-        builder.append(cookieName);
-        builder.append(", algorithm=");
-        builder.append(algorithm);
-        builder.append(", algorithmKey=");
-        builder.append(algorithmKey);
-        builder.append(", expires=");
-        builder.append(expires);
-        builder.append("]");
-        return builder.toString();
-    }
+    public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
+	@Override
+	public String toString() {
+		StringBuilder builder = new StringBuilder();
+		builder.append("AppsJwtDetails [id=");
+		builder.append(id);
+		builder.append(", redirectUri=");
+		builder.append(redirectUri);
+		builder.append(", tokenType=");
+		builder.append(tokenType);
+		builder.append(", cookieName=");
+		builder.append(cookieName);
+		builder.append(", algorithm=");
+		builder.append(algorithm);
+		builder.append(", algorithmKey=");
+		builder.append(algorithmKey);
+		builder.append(", expires=");
+		builder.append(expires);
+		builder.append(", instId=");
+		builder.append(instId);
+		builder.append(", instName=");
+		builder.append(instName);
+		builder.append("]");
+		return builder.toString();
+	}
 
 }

+ 22 - 2
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsOAuth20Details.java

@@ -65,6 +65,9 @@ public class AppsOAuth20Details extends Apps {
     
     private String pkce;
 
+	private String instId;
+
+	private String instName;
     /**
      * 
      */
@@ -118,6 +121,7 @@ public class AppsOAuth20Details extends Apps {
         this.approvalPrompt = baseClientDetails.getApprovalPrompt();
         
         this.pkce = baseClientDetails.getPkce();
+        this.instId = baseClientDetails.getInstId();
         
 
     }
@@ -326,7 +330,23 @@ public class AppsOAuth20Details extends Apps {
         this.jwksUri = jwksUri;
     }
 
-    public BaseClientDetails clientDetailsRowMapper() {
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	public BaseClientDetails clientDetailsRowMapper() {
         BaseClientDetails baseClientDetails = new BaseClientDetails(this.getId(), this.getId(), this.getScope(),
                 this.getAuthorizedGrantTypes(), "ROLE_CLIENT, ROLE_TRUSTED_CLIENT", this.getRegisteredRedirectUris());
         baseClientDetails.setAccessTokenValiditySeconds(this.getAccessTokenValiditySeconds());
@@ -346,7 +366,7 @@ public class AppsOAuth20Details extends Apps {
         baseClientDetails.setApprovalPrompt(this.getApprovalPrompt());
         baseClientDetails.setPkce(this.getPkce());
         baseClientDetails.setProtocol(this.getProtocol());
-
+        baseClientDetails.setInstId(instId);
         return baseClientDetails;
     }
 

+ 21 - 1
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsSAML20Details.java

@@ -105,7 +105,11 @@ public class AppsSAML20Details extends Apps {
     
     @Column
     private String nameIdSuffix;
+	@Column
+	private String instId;
 
+	private String instName;
+	
     public static final class BindingType {
         public static final  String Redirect_Post = "Redirect-Post";
         public static final  String Post_Post = "Post-Post";
@@ -359,7 +363,23 @@ public class AppsSAML20Details extends Apps {
         this.metaUrl = metaUrl;
     }
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	public String getInstName() {
+		return instName;
+	}
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("AppsSAML20Details [id=");

+ 25 - 2
maxkey-core/src/main/java/org/maxkey/entity/apps/AppsTokenBasedDetails.java

@@ -60,7 +60,10 @@ public class AppsTokenBasedDetails  extends Apps {
 	private String algorithmKey;
 	@Column
 	private String expires;
-		
+	@Column
+	private String instId;
+
+	private String instName;	
 	
 	public AppsTokenBasedDetails() {
 		super();
@@ -137,7 +140,27 @@ public class AppsTokenBasedDetails  extends Apps {
     }
 
 
-    @Override
+    public String getInstId() {
+		return instId;
+	}
+
+
+	public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+
+	public String getInstName() {
+		return instName;
+	}
+
+
+	public void setInstName(String instName) {
+		this.instName = instName;
+	}
+
+
+	@Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
         builder.append("AppsTokenBasedDetails [id=");

+ 2 - 0
maxkey-core/src/main/java/org/maxkey/entity/apps/oauth2/provider/ClientDetails.java

@@ -152,5 +152,7 @@ public interface ClientDetails extends Serializable {
 	
 	public String getProtocol();
 	
+	public String getInstId();
+	
 
 }

+ 14 - 1
maxkey-core/src/main/java/org/maxkey/entity/apps/oauth2/provider/client/BaseClientDetails.java

@@ -98,6 +98,8 @@ public class BaseClientDetails implements ClientDetails {
 	
 	private String protocol;
 	
+	private String instId;
+	
 	
 	public BaseClientDetails() {
 	}
@@ -391,7 +393,16 @@ public class BaseClientDetails implements ClientDetails {
         this.protocol = protocol;
     }
 
-    @Override
+	@Override
+	public String getInstId() {
+		return this.instId;
+	}
+	
+    public void setInstId(String instId) {
+		this.instId = instId;
+	}
+
+	@Override
 	public int hashCode() {
 		final int prime = 31;
 		int result = 1;
@@ -525,4 +536,6 @@ public class BaseClientDetails implements ClientDetails {
         return builder.toString();
     }
 
+
+
 }

+ 4 - 21
maxkey-core/src/main/java/org/maxkey/persistence/db/LoginHistoryService.java

@@ -20,7 +20,6 @@ package org.maxkey.persistence.db;
 import java.sql.Types;
 
 import org.maxkey.entity.HistoryLogin;
-import org.maxkey.entity.UserInfo;
 import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -29,7 +28,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
 public class LoginHistoryService {
     private static Logger _logger = LoggerFactory.getLogger(LoginHistoryService.class);
     
-    private static final String HISTORY_LOGIN_INSERT_STATEMENT = "insert into mxk_history_login (id , sessionid , userid , username , displayname , logintype , message , code , provider , sourceip , browser , platform , application , loginurl , sessionstatus)values( ? , ? , ? , ? , ? , ?, ? , ? , ?, ? , ? , ?, ? , ? , ?)";
+    private static final String HISTORY_LOGIN_INSERT_STATEMENT = "insert into mxk_history_login (id , sessionid , userid , username , displayname , logintype , message , code , provider , sourceip , browser , platform , application , loginurl , sessionstatus ,instid)values( ? , ? , ? , ? , ? , ? , ?, ? , ? , ?, ? , ? , ?, ? , ? , ?)";
 
     private static final String HISTORY_LOGOUT_UPDATE_STATEMENT = "update mxk_history_login set logouttime = ? ,sessionstatus = 7 where  sessionid = ?";
 
@@ -38,24 +37,7 @@ public class LoginHistoryService {
     public LoginHistoryService(JdbcTemplate jdbcTemplate) {
         this.jdbcTemplate = jdbcTemplate;
     }
-    
-    @Deprecated
-    public void login(UserInfo userInfo,String sessionId,
-            String type, String message, String code, String provider,String browser, String platform,int sessionStatus) {
-        jdbcTemplate.update(HISTORY_LOGIN_INSERT_STATEMENT,
-                new Object[] { WebContext.genId(), sessionId, userInfo.getId(), userInfo.getUsername(),
-                        userInfo.getDisplayName(), type, message, code, provider, userInfo.getLastLoginIp(), browser, platform,
-                        "Browser", WebContext.getRequest().getRequestURI() , sessionStatus},
-                new int[] { 
-                        Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, 
-                        Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
-                        Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR ,Types.INTEGER
-                        });
         
-
-    }
-    
-    
     public void login(HistoryLogin historyLogin) {
         historyLogin.setId(WebContext.genId());
         historyLogin.setLoginUrl(WebContext.getRequest().getRequestURI());
@@ -65,12 +47,13 @@ public class LoginHistoryService {
                         historyLogin.getId(), historyLogin.getSessionId(), historyLogin.getUserId(), historyLogin.getUsername(),
                         historyLogin.getDisplayName(), historyLogin.getLoginType(), historyLogin.getMessage(), historyLogin.getCode(), 
                         historyLogin.getProvider(), historyLogin.getSourceIp(), historyLogin.getBrowser(), historyLogin.getPlatform(),
-                        "Browser", historyLogin.getLoginUrl() , historyLogin.getSessionStatus()
+                        "Browser", historyLogin.getLoginUrl() , historyLogin.getSessionStatus(),historyLogin.getInstId()
                         },
                 new int[] { 
                         Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, 
                         Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR,
-                        Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR ,Types.INTEGER
+                        Types.VARCHAR, Types.VARCHAR, Types.VARCHAR, Types.VARCHAR ,Types.INTEGER,
+                        Types.VARCHAR
                         });
     }
     

+ 1 - 0
maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java

@@ -360,6 +360,7 @@ public class LoginService {
             userInfo.setGridList(rs.getInt("GRIDLIST"));
             userInfo.setDescription(rs.getString("DESCRIPTION"));
             userInfo.setTheme(rs.getString("THEME"));
+            userInfo.setInstId(rs.getString("INSTID"));
             if (userInfo.getTheme() == null || userInfo.getTheme().equalsIgnoreCase("")) {
                 userInfo.setTheme("default");
             }

+ 9 - 8
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/ReportMapper.java

@@ -20,6 +20,7 @@
  */
 package org.maxkey.persistence.mapper;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -33,18 +34,18 @@ import org.apache.mybatis.jpa.persistence.JpaBaseEntity;
  */
 public  interface ReportMapper extends IJpaBaseMapper<JpaBaseEntity> {
 	
-	public Integer analysisDay(String reportParameter);
-	public Integer analysisNewUsers(String reportParameter);
-	public Integer analysisOnlineUsers(String reportParameter);
-	public Integer analysisActiveUsers(String reportParameter);
+	public Integer analysisDay(HashMap<String,Object> reportParameter);
+	public Integer analysisNewUsers(HashMap<String,Object> reportParameter);
+	public Integer analysisOnlineUsers(HashMap<String,Object> reportParameter);
+	public Integer analysisActiveUsers(HashMap<String,Object> reportParameter);
 	
-	public List<Map<String,Object>> analysisDayHour(String reportParameter);
+	public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter);
 	
-	public List<Map<String,Object>> analysisMonth(String reportParameter);
+	public List<Map<String,Object>> analysisMonth(HashMap<String,Object> reportParameter);
 	
-	public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportParameter);
+	public List<Map<String,Object>> analysisBrowser(HashMap<String,Object> reportParameter);
 	
-	public List<Map<String,Object>> analysisApp(Map<String,Object> reportParameter );
+	public List<Map<String,Object>> analysisApp(HashMap<String,Object> reportParameter );
 	
 	
 }

+ 9 - 8
maxkey-persistence/src/main/java/org/maxkey/persistence/service/ReportService.java

@@ -17,6 +17,7 @@
 
 package org.maxkey.persistence.service;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -28,36 +29,36 @@ import org.springframework.stereotype.Repository;
 @Repository
 public class ReportService  extends JpaBaseService<JpaBaseEntity>{
 
-	public Integer analysisDay(String reportParameter) {
+	public Integer analysisDay(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisDay(reportParameter);
 	};
 	
-	public Integer analysisNewUsers(String reportParameter) {
+	public Integer analysisNewUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisNewUsers(reportParameter);
 	};
 	
-	public Integer analysisOnlineUsers(String reportParameter) {
+	public Integer analysisOnlineUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisOnlineUsers(reportParameter);
 	};
 	
-	public Integer analysisActiveUsers(String reportParameter) {
+	public Integer analysisActiveUsers(HashMap<String,Object> reportParameter) {
 		return getMapper().analysisActiveUsers(reportParameter);
 	};
 	
-	public List<Map<String,Object>> analysisDayHour(String reportParameter){
+	public List<Map<String,Object>> analysisDayHour(HashMap<String,Object> reportParameter){
 		return getMapper().analysisDayHour(reportParameter);
 	}
 	
-	public List<Map<String,Object>> analysisMonth(String reportParameter){
+	public List<Map<String,Object>> analysisMonth(HashMap<String,Object> reportParameter){
 		return getMapper().analysisMonth(reportParameter);
 	}
 	
 	
-	public List<Map<String,Object>> analysisBrowser(Map<String,Object> reportParameter){
+	public List<Map<String,Object>> analysisBrowser(HashMap<String,Object> reportParameter){
 		return getMapper().analysisBrowser(reportParameter);
 	}
 	
-	public List<Map<String,Object>> analysisApp(Map<String,Object> reportParameter){
+	public List<Map<String,Object>> analysisApp(HashMap<String,Object> reportParameter){
 		return getMapper().analysisApp(reportParameter);
 	}
 	

+ 7 - 5
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AccountsMapper.xml

@@ -24,8 +24,7 @@
 			*
 		from
 			mxk_accounts
-		where
-			 (1=1)	
+		where instid = #{instId}
 		<include refid="where_statement"/>
 	</select>
 	
@@ -33,9 +32,11 @@
         select 
             *
         from mxk_userinfo u
-        where not exists(
+        where u.instid = #{instId} 
+            and not exists(
                 select  1 from mxk_accounts ac 
                 where   ac.appid = #{appId}
+                    and ac.instid = #{instId} 
                     and ac.userid = u.id
                     and ac.createtype='automatic'
             )
@@ -49,13 +50,14 @@
     
 	<delete id="deleteByStrategy" parameterType="AccountsStrategy" >
         delete from mxk_accounts ac
-        where   ac.createtype = 'automatic'
+        where   ac.instid = #{instId} 
+            and ac.createtype = 'automatic'
             and ac.appid = #{appId}
             and ac.strategyid = #{id}
             and not exists(
                 select 1
                 from mxk_userinfo u
-                where 1 = 1 
+                where instid = #{instId} 
                     and u.id=ac.userid
                 <if test="filters != null and filters != ''">
                         and (${filters})

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AccountsStrategyMapper.xml

@@ -23,8 +23,9 @@
         from
             mxk_accounts_strategy mas,
             mxk_apps    ma
-        where
-             mas.appid = ma.id
+        where   ma.instid = #{instId}
+            and mas.instid = #{instId}
+            and mas.appid = ma.id
         <include refid="where_statement"/>
     </select>
 	

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsCasDetailsMapper.xml

@@ -7,8 +7,9 @@
     	from 
     		mxk_apps_cas_details cd,
     		mxk_apps app
-    	where 	
-    		status	=	1
+    	where 	app.instid = #{instId}
+            and cd.instid = #{instId}
+    		and app.status	=	1
     		and cd.id	=	app.id
     		and (
     			app.id	=	#{value}

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsFormBasedDetailsMapper.xml

@@ -8,8 +8,9 @@
     	from 
     		mxk_apps_form_based_details fbd,
     		mxk_apps app
-    	where 	
-    		app.id	=	#{value}
+    	where 	app.instId = #{instId}
+    	    and fbd.instId = #{instId}
+    		and app.id	=	#{value}
     		and fbd.id	=	#{value}
     		and fbd.id	=	app.id
     		and status	=	1

+ 6 - 5
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsJwtDetailsMapper.xml

@@ -8,11 +8,12 @@
     	from 
     		mxk_apps_jwt_details jd,
     		mxk_apps app
-    	where 	
-    		app.id	=	#{value}
-    		and jd.id	=	#{value}
-    		and jd.id	=	app.id
-    		and status	=	1
+    	where 	app.instid  =   #{instId} 
+            and jd.instid   =   #{instId} 
+    		and app.id	    =	#{value}
+    		and jd.id	    =	#{value}
+    		and status        =   1
+    		and jd.id	    =	app.id
     </select>
 	
 </mapper>

+ 8 - 4
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsMapper.xml

@@ -30,8 +30,7 @@
 			*
 		from
 			mxk_apps
-		where
-			 (1=1)	
+		where instid = #{instId}
 		<include refid="where_statement"/>
 		order by sortindex 
 	</select>
@@ -79,7 +78,8 @@
 			status,
 			
 			logouturl,
-			logouttype
+			logouttype,
+			instid
 		)values(
 			#{id},
 			#{name},
@@ -120,7 +120,8 @@
 			#{status},
 
 			#{logoutUrl},
-			#{logoutType}
+			#{logoutType},
+			#{instId}
 		)
 	</insert>
 	
@@ -179,6 +180,9 @@
         where
             app.id=gp.appid
             and gp.groupid=g.id
+            and app.instid = #{instId}
+            and gp.instid = #{instId}
+            and g.instid = #{instId}
             and app.visible != 0
             and (
             	 g.id='ROLE_ALL_USER'

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsSaml20DetailsMapper.xml

@@ -24,8 +24,9 @@
     	from 
     		mxk_apps_saml_v20_details svd,
     		mxk_apps app
-    	where 	
-    		app.id			=	#{value}
+    	where 	app.instid  =   #{instId} 
+    	    and svd.instid  =   #{instId} 
+    		and app.id		=	#{value}
     		and svd.id		=	#{value}
     		and svd.id		=	app.id
     		and app.status	=	1

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/AppsTokenBasedDetailsMapper.xml

@@ -8,8 +8,9 @@
     	from 
     		mxk_apps_token_based_details tbd,
     		mxk_apps app
-    	where 	
-    		app.id	=	#{value}
+    	where 	app.instid  =   #{instId} 
+            and tbd.instid  =   #{instId} 
+    		and app.id	=	#{value}
     		and tbd.id	=	#{value}
     		and tbd.id	=	app.id
     		and status	=	1

+ 4 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupMemberMapper.xml

@@ -50,7 +50,7 @@
 					u.status
 				from
 					mxk_userinfo u
-			where	1	=	1
+			where	instid  =   #{instId} 
 	</select>
 	
     <select id="memberInGroup" parameterType="GroupMember" resultType="GroupMember">
@@ -92,7 +92,9 @@
 				mxk_userinfo u,
 				mxk_groups   g,
 				mxk_group_member gm
-			where	1	=	1
+			where	 u.instid   =   #{instId} 
+			     and g.instid   =   #{instId} 
+			     and gm.instid  =   #{instId} 
 				<if test="groupId != null and groupId != ''">
 					and gm.groupid = #{groupId}
 					and g.id = #{groupId}

+ 3 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupPrivilegesMapper.xml

@@ -35,7 +35,9 @@
 			mxk_apps apps,
 			mxk_group_privileges    gp
 		where
-			gp.appid=apps.id
+		    apps.instid     =   #{instId} 
+		    and gp.instid   =   #{instId} 
+			and gp.appid    =    apps.id
 			and gp.groupid	=	#{groupId}
 		<include refid="where_statement"/>
 	</select>

+ 16 - 12
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupsMapper.xml

@@ -18,8 +18,7 @@
 			*
 		from
 			`mxk_groups`
-		where
-			 (1=1)	
+		where instid   =   #{instId} 
 		<include refid="where_statement"/>
 	</select>
 	
@@ -28,8 +27,8 @@
 			*
 		from
 			`mxk_groups`
-		where
-			 dynamic = '1'
+		where instid   =   #{instId} 
+            and dynamic = '1'
 		<include refid="where_statement"/>
 	</select>
 	
@@ -37,7 +36,7 @@
 	<update id="logisticDelete" parameterType="Groups" >
     	update `mxk_groups` set
     		status	=	'2'  
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<if test="id != null">
 			and	id	=	#{id}
 		</if>
@@ -48,7 +47,10 @@
     
     
     <update id="logisticBatchDelete" parameterType="java.util.List">
-    	update `mxk_groups` set status='2' where id in
+    	update `mxk_groups` 
+    	set status='2' 
+    	where instid   =   #{instId} 
+    	   and id in
     		<foreach item="item" collection="list" open="(" separator="," close=")">
 				#{item}
     		</foreach>
@@ -62,12 +64,14 @@
                 mxk_userinfo u,
                 mxk_groups   g,
                 mxk_group_member gm
-            where   1   =   1
-                    and gm.memberid = #{value}
-                    and u.id        = #{value}
-                    and gm.type     in( 'USER','USER-DYNAMIC')
-                    and gm.groupid  =   g.id    
-                    and gm.memberid =   u.id
+            where   u.instid    =   #{instId} 
+                and g.instid    =   #{instId} 
+                and gm.instid   =   #{instId} 
+                and gm.memberid = #{value}
+                and u.id        = #{value}
+                and gm.type     in( 'USER','USER-DYNAMIC')
+                and gm.groupid  =   g.id    
+                and gm.memberid =   u.id
     </select>
     
    

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryConnectorMapper.xml

@@ -53,7 +53,7 @@
     	select 
 			*
     	from mxk_history_connector 
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="where_statement"/>
     	
     	order by synctime desc

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryLoginAppsMapper.xml

@@ -45,7 +45,7 @@
 			date_format(logintime, '%Y-%m-%d  %H:%i:%s') as logintime
 			 
     	from mxk_history_login_apps
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="dao_where_statement"/>
     	
     	order by logintime desc

+ 3 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistoryLoginMapper.xml

@@ -57,7 +57,7 @@
 			date_format(logintime, '%Y-%m-%d  %H:%i:%s') as logintime,
 			date_format(logouttime, '%Y-%m-%d  %H:%i:%s') as logouttime
     	from mxk_history_login
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="dao_where_statement"/>
     	
     	order by logintime desc
@@ -83,7 +83,8 @@
             date_format(logintime, '%Y-%m-%d  %H:%i:%s') as logintime,
             date_format(logouttime, '%Y-%m-%d  %H:%i:%s') as logouttime
         from mxk_history_login
-        where   sessionstatus = 1
+        where   instid   =   #{instId}  
+            and sessionstatus = 1
         
         <include refid="dao_where_statement"/>
         

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySynchronizerMapper.xml

@@ -28,7 +28,7 @@
     	select 
 			*
     	from mxk_history_synchronizer 
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="where_statement"/>
     	
     	order by synctime desc

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/HistorySystemLogsMapper.xml

@@ -46,7 +46,7 @@
 			createddate,
 			createdby
     	from mxk_history_logs 
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="where_statement"/>
     	
     	order by createddate desc

+ 2 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/NoticesMapper.xml

@@ -19,7 +19,7 @@
 		from
 			mxk_notices
 		where
-			 (1=1)	
+			instid   =   #{instId} 
 		<include refid="where_statement"/>
 		order by  modifieddate desc
 	</select>
@@ -29,6 +29,7 @@
 			*
 		from
 			mxk_notices
+		where instid   =   #{instId} 
 		order by  modifieddate desc
 		limit 1
 	</select>

+ 7 - 5
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/OrganizationsMapper.xml

@@ -24,7 +24,7 @@
     	select 
 			*
     	from mxk_organizations 
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="dao_where_statement"/>
     	order by sortindex,id
     </select>
@@ -34,14 +34,14 @@
     	select 
 			*
     	from mxk_organizations 
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<include refid="dao_where_statement"/>
     	order by sortindex,id
     </select>
   
     <update id="logisticDelete" parameterType="Organizations" >
     	update mxk_organizations set status	=	'2'  
-    		where	1	=	1
+    		where	instid   =   #{instId} 
     	<if test="id != null and id != '' ">
 			and	id	=	#{id}
 		</if>
@@ -57,8 +57,10 @@
     </update>
     
     <update id="logisticBatchDelete" parameterType="java.util.List">
-    	UPDATE MXK_ORGANIZATIONS SET STATUS	=	'2'  
-    		 WHERE ID IN
+    	UPDATE MXK_ORGANIZATIONS 
+    	SET STATUS	=	'2'  
+    	WHERE instid   =   #{instId} 
+    	   and id in
 		<foreach collection="ids" item="selectId"  open="(" separator="," close=")">  
         	#{selectId}   
      	</foreach>

+ 23 - 22
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/ReportMapper.xml

@@ -2,69 +2,70 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.maxkey.persistence.mapper.ReportMapper" >
  	<!-- DAY  COUNT 一天访问量 -->
-	<select id="analysisDay" parameterType="String" resultType="Integer">
+	<select id="analysisDay" parameterType="java.util.HashMap" resultType="Integer">
     	select 
     		count(id) reportcount
     	from mxk_history_login 
-    	where 
-    		date(logintime) =curdate()
+    	where  instid   =   #{instId} 
+            and date(logintime) =curdate()
     </select>
     <!-- 本月新用户统计 -->
-    <select id="analysisNewUsers" parameterType="String" resultType="Integer">
+    <select id="analysisNewUsers" parameterType="java.util.HashMap" resultType="Integer">
     	select 
 			count(*) reportcount 
 		from mxk_userinfo 
-		where 
-		last_day(createddate) =last_day(curdate())
+		where instid   =   #{instId} 
+		  and last_day(createddate) =last_day(curdate())
     </select>
     <!-- 在线用户统计 -->
-    <select id="analysisOnlineUsers" parameterType="String" resultType="Integer">
+    <select id="analysisOnlineUsers" parameterType="java.util.HashMap" resultType="Integer">
     	    select 
 				count(*) reportcount 
 			from mxk_userinfo 
-			where 	online = 1
+			where 	instid   =   #{instId} 
+                and online = 1
 				and now() - lastlogintime between 1 and 10000   
     </select>
     <!-- 30天活跃用户统计 -->
-    <select id="analysisActiveUsers" parameterType="String" resultType="Integer">
+    <select id="analysisActiveUsers" parameterType="java.util.HashMap" resultType="Integer">
     	select 
 			count(*) reportcount 
 		from mxk_userinfo 
-		where 
-		date(lastlogintime) >date_add(curdate(), interval - day(curdate()) -31 day)
+		where instid   =   #{instId} 
+		  and date(lastlogintime) >date_add(curdate(), interval - day(curdate()) -31 day)
     </select>
     
     <!-- DAY HOUR COUNT 当天每小时 -->
-	<select id="analysisDayHour" parameterType="String" resultType="Map">
+	<select id="analysisDayHour" parameterType="java.util.HashMap" resultType="Map">
     	select 
     		count(id) reportcount, 
 			hour(logintime) reportstring 
     	from mxk_history_login 
-    	where 
-    		date(logintime) =curdate()
+    	where   instid   =   #{instId} 
+    		and date(logintime) =curdate()
     	group by reportstring
     	order by reportstring
     </select>
     <!-- 30 DAY COUNT 最近30天每天访问量-->   
-    <select id="analysisMonth" parameterType="String" resultType="Map">
+    <select id="analysisMonth" parameterType="java.util.HashMap" resultType="Map">
     	select 
     		count(id) reportcount, 
 			date(logintime) reportstring 
     	from mxk_history_login 
-    	where 
-    		date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
+    	where   instid   =   #{instId} 
+    		and date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
     	group by reportstring
     	order by reportstring
     </select>
     
     <!-- 30天浏览器的访问统计 -->
-    <select id="analysisBrowser" parameterType="Map" resultType="Map">
+    <select id="analysisBrowser" parameterType="java.util.HashMap" resultType="Map">
     	select 
     		count(id) reportcount, 
 			coalesce(browser,'Other') reportstring 
     	from mxk_history_login 
-    	where 
-    		date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
+    	where  instid   =   #{instId} 
+            and date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
     	group by reportstring
     	order by reportcount desc
     </select>
@@ -75,8 +76,8 @@
 			count(id) reportcount,
 			appname 
     	from mxk_history_login_apps
-    	where 
-    		date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
+    	where  instid   =   #{instId} 
+    	   and date(logintime) >date_add(curdate(), interval - day(curdate()) -31 day)
     	group by appname order by reportcount desc
     </select>
 

+ 8 - 3
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/ResourcesMapper.xml

@@ -25,7 +25,9 @@
 		from
 			mxk_resources res, mxk_apps app
 		where
-			 (1=1)	and res.appid=app.id
+			 res.instid   =   #{instId} 
+			 and app.instid   =   #{instId} 	
+			 and res.appid=app.id
 		<include refid="where_statement"/>
 		order by res.sortindex 
 	</select>
@@ -34,7 +36,7 @@
 	<update id="logisticDelete" parameterType="Resources" >
     	update mxk_resources set
     		status	=	'2'  
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<if test="id != null">
 			and	id	=	#{id}
 		</if>
@@ -45,7 +47,10 @@
     
     
     <update id="logisticBatchDelete" parameterType="java.util.List">
-    	update mxk_resources set status='2' where id in
+    	update mxk_resources 
+    	set status='2'
+    	where  instid   =   #{instId} 
+    	   and id in
     		<foreach item="item" collection="list" open="(" separator="," close=")">
 				#{item}
     		</foreach>

+ 4 - 2
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RoleMemberMapper.xml

@@ -50,7 +50,7 @@
 					u.status
 				from
 					mxk_userinfo u
-			where	1	=	1
+			where	instid   =   #{instId} 
 	</select>
 	
     <select id="memberInRole" parameterType="RoleMember" resultType="RoleMember">
@@ -93,7 +93,9 @@
 				mxk_userinfo u,
 				mxk_roles r,
 				mxk_role_member rm
-			where	1	=	1
+			where	u.instid     =   #{instId} 
+			     and r.instid    =   #{instId} 
+			     and rm.instid   =   #{instId} 
 				<if test="roleId != null and roleId != ''">
 					and rm.roleid = #{roleId}
 					and r.id = #{roleId}

+ 17 - 11
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RolesMapper.xml

@@ -15,9 +15,9 @@
 		select
 			*
 		from
-			`mxk_groups`
-		where
-			 dynamic = '1'
+			mxk_roles
+		where instid   =   #{instId} 
+			 and dynamic = '1'
 		<include refid="where_statement"/>
 	</select>
 	
@@ -27,7 +27,7 @@
 		from
 			mxk_roles
 		where
-			 (1=1)	
+			 instid   =   #{instId} 
 		<include refid="where_statement"/>
 	</select>
 	
@@ -35,7 +35,7 @@
 	<update id="logisticDelete" parameterType="Roles" >
     	update mxk_roles set
     		status	=	'2'  
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<if test="id != null">
 			and	id	=	#{id}
 		</if>
@@ -46,7 +46,10 @@
     
     
     <update id="logisticBatchDelete" parameterType="java.util.List">
-    	update mxk_roles set status='2' where id in
+    	update mxk_roles 
+    	set status='2' 
+    	where instid   =   #{instId}  
+    	   and id in
     		<foreach item="item" collection="list" open="(" separator="," close=")">
 				#{item}
     		</foreach>
@@ -58,8 +61,8 @@
             *
         from
             mxk_role_permissions
-        where
-             status = 1
+        where   instid   =   #{instId} 
+            and status   = 1
        <if test="id != null and id != ''">
             and id  =   #{id}
         </if> 
@@ -73,17 +76,20 @@
     </select>
     
     <update id="logisticDeleteRolePermissions" parameterType="java.util.List">
-        update mxk_role_permissions set status=9 where id in
+        update mxk_role_permissions 
+        set status=9 
+        where instid   =   #{instId} 
+            and id in
             <foreach item="item" collection="list" open="(" separator="," close=")">
                 #{item.id}
             </foreach>
     </update>
     
     <insert id="insertRolePermissions"  parameterType="java.util.List">
-	    insert into mxk_role_permissions ( id,appid,roleid,resourceid,status) 
+	    insert into mxk_role_permissions ( id,appid,roleid,resourceid,status,instid) 
 	    values 
 	    <foreach collection="list" item="item" index="index" separator=",">
-	        (#{item.id},#{item.appId},#{item.roleId},#{item.resourceId},#{item.status})
+	        (#{item.id},#{item.appId},#{item.roleId},#{item.resourceId},#{item.status},#{item.instId})
 	    </foreach>
 	</insert>
 	

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/SocialsProviderMapper.xml

@@ -19,7 +19,7 @@
 		from
 			mxk_socials_provider
 		where
-			 (1=1)	
+			 instid   =   #{instId} 	
 		<include refid="where_statement"/>
 		order by  sortindex
 	</select>

+ 1 - 1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/SynchronizersMapper.xml

@@ -17,7 +17,7 @@
 		from
 			mxk_synchronizers
 		where
-			 (1=1)	
+			 instid   =   #{instId} 
 		<include refid="where_statement"/>
 	</select>	
     

+ 6 - 3
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/UserInfoAdjointMapper.xml

@@ -19,7 +19,7 @@
 		from
 			mxk_userinfo_adjunct
 		where
-			 (1=1)	
+			 instid   =   #{instId} 
 		<include refid="where_statement"/>
 	</select>
 	
@@ -27,7 +27,7 @@
 	<update id="logisticDelete" parameterType="UserInfoAdjoint" >
     	update mxk_userinfo_adjunct set
     		status	=	'2'  
-    	where	1	=	1
+    	where	instid   =   #{instId} 
     	<if test="id != null">
 			and	id	=	#{id}
 		</if>
@@ -38,7 +38,10 @@
     
     
     <update id="logisticBatchDelete" parameterType="java.util.List">
-    	update mxk_userinfo_adjunct set status='2' where id in
+    	update mxk_userinfo_adjunct 
+    	set status='2' 
+    	where  instid   =   #{instId} 
+    	   and id in
     		<foreach item="item" collection="list" open="(" separator="," close=")">
 				#{item}
     		</foreach>

+ 7 - 4
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/UserInfoMapper.xml

@@ -51,8 +51,7 @@
 			status
 		from
 			mxk_userinfo
-		where
-			 (1=1)	
+		where instid = #{instId}
 		<if test="username != null and username != ''">
 			and username = #{username}
 		</if>
@@ -251,13 +250,17 @@
  
     <select id="loadDeptsByUserId" parameterType="string" resultType="Organizations">
         select o.* , 1 isPrimary from mxk_organizations o,mxk_userinfo u 
-        where   o.id=u.departmentid 
+        where   o.instid = #{instId} 
+            and u.instid = #{instId} 
+            and o.id=u.departmentid 
             and u.id=#{value}
 
         union all
 
         select o.* , 0 isPrimary from mxk_organizations o,mxk_userinfo_adjunct ua 
-        where   o.id=ua.departmentid 
+        where   o.instid = #{instId} 
+            and ua.instid = #{instId} 
+            and o.id=ua.departmentid 
             and ua.userid=#{value}
     </select>
     

+ 4 - 1
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/AppListController.java

@@ -23,6 +23,7 @@ import java.util.List;
 import org.maxkey.configuration.ApplicationConfig;
 import org.maxkey.constants.ConstantsOperateMessage;
 import org.maxkey.constants.ConstantsProtocols;
+import org.maxkey.constants.ConstantsStatus;
 import org.maxkey.crypto.password.PasswordReciprocal;
 import org.maxkey.entity.Accounts;
 import org.maxkey.entity.UserInfo;
@@ -92,7 +93,7 @@ public class AppListController {
     private List<UserApps> queryAccessableApps() {
         UserApps userApplications = new UserApps();
         userApplications.setUsername(WebContext.getUserInfo().getUsername());
-
+        userApplications.setInstId(WebContext.getUserInfo().getInstId());
         List<UserApps> appList = appsService.queryMyApps(userApplications);
         for (UserApps app : appList) {
             WebContext.setAttribute(app.getId(), app.getIcon());
@@ -257,6 +258,8 @@ public class AppListController {
 
                 appUsers.setRelatedUsername(identity_username);
                 appUsers.setRelatedPassword(PasswordReciprocal.getInstance().encode(identity_password));
+                appUsers.setInstId(userInfo.getInstId());
+                appUsers.setStatus(ConstantsStatus.ACTIVE);
                 appUsersService.insert(appUsers);
             } else {
                 appUsers.setRelatedUsername(identity_username);

+ 7 - 1
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/OneTimePasswordController.java

@@ -37,6 +37,8 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.xkcoding.http.util.StringUtil;
+
 
 /**
  * .
@@ -64,7 +66,11 @@ public class OneTimePasswordController {
     public ModelAndView timebased() {
         ModelAndView modelAndView = new ModelAndView("safe/timeBased");
         UserInfo userInfo = WebContext.getUserInfo();
-        String sharedSecret = passwordReciprocal.decoder(userInfo.getSharedSecret());
+        
+        String sharedSecret = userInfo.getId();
+        if(StringUtil.isNotEmpty(userInfo.getSharedSecret())) {
+        	passwordReciprocal.decoder(userInfo.getSharedSecret());
+        }
         otpKeyUriFormat.setSecret(sharedSecret);
         String otpauth = otpKeyUriFormat.format(userInfo.getUsername());
         byte[] byteSharedSecret = Base32Utils.decode(sharedSecret);

+ 1 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistoryLoginAppsController.java

@@ -67,6 +67,7 @@ public class HistoryLoginAppsController {
             @ModelAttribute("historyLoginApps") HistoryLoginApps historyLoginApps) {
         _logger.debug("history/loginApps/grid/ logsGrid() " + historyLoginApps);
         historyLoginApps.setId(null);
+        historyLoginApps.setInstId(WebContext.getUserInfo().getInstId());
         historyLoginApps.setUsername(WebContext.getUserInfo().getUsername());
         return historyLoginAppsService.queryPageResults(historyLoginApps);
 

+ 1 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistoryLoginController.java

@@ -66,6 +66,7 @@ public class HistoryLoginController {
     public JpaPageResults<HistoryLogin> logAuthsGrid(@ModelAttribute("historyLogin") HistoryLogin historyLogin) {
         _logger.debug("history/login/grid/ logsGrid() " + historyLogin);
         historyLogin.setUserId(WebContext.getUserInfo().getId());
+        historyLogin.setInstId(WebContext.getUserInfo().getInstId());
         return historyLoginService.queryPageResults(historyLogin);
     }
 

+ 2 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/HistorySystemLogsController.java

@@ -23,6 +23,7 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.entity.HistoryLogs;
 import org.maxkey.persistence.service.HistorySystemLogsService;
 import org.maxkey.util.DateUtils;
+import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -64,6 +65,7 @@ public class HistorySystemLogsController {
     @ResponseBody
     public JpaPageResults<HistoryLogs> logsDataGrid(@ModelAttribute("historyLogs") HistoryLogs historyLogs) {
         _logger.debug("history/systemLogs/grid/ systemLogs() " + historyLogs);
+        historyLogs.setInstId(WebContext.getUserInfo().getInstId());
         return historySystemLogsService.queryPageResults(historyLogs);
     }
 

+ 1 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/historys/contorller/LoginSessionController.java

@@ -83,6 +83,7 @@ public class LoginSessionController {
     @ResponseBody
     public JpaPageResults<HistoryLogin> loginSessionListGrid(@ModelAttribute("historyLogin") HistoryLogin historyLogin) {
         _logger.debug("history/session/ sessionListGrid() " + historyLogin);
+        historyLogin.setInstId(WebContext.getUserInfo().getInstId());
         historyLogin.setUserId(WebContext.getUserInfo().getId());
         return historyLoginService.queryOnlineSession(historyLogin);
     }

+ 1 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/HistoryLoginAppAdapter.java

@@ -93,6 +93,7 @@ public class HistoryLoginAppAdapter  implements AsyncHandlerInterceptor  {
         historyLoginApps.setUserId(userInfo.getId());
         historyLoginApps.setUsername(userInfo.getUsername());
         historyLoginApps.setDisplayName(userInfo.getDisplayName());
+        historyLoginApps.setInstId(userInfo.getInstId());
         historyLoginAppsService.insert(historyLoginApps);
         WebContext.removeAttribute(WebConstants.CURRENT_SINGLESIGNON_URI);
         WebContext.removeAttribute(WebConstants.SINGLE_SIGN_ON_APP_ID);

+ 1 - 0
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/interceptor/HistoryLogsAdapter.java

@@ -75,6 +75,7 @@ public class HistoryLogsAdapter  implements AsyncHandlerInterceptor  {
                                 userInfo == null ? null : userInfo.getUsername(),
                                         ""
                         );
+                historyLogs.setInstId(userInfo.getInstId());
                 _logger.debug("insert db historyLogs content : " + historyLogs);
                 historySystemLogsService.insert(historyLogs);//日志插入数据库
                 //message类型仅插入数据库

+ 1 - 1
maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/social/socialSignOnProvider.ftl

@@ -22,7 +22,7 @@
       <tbody>
       	<#list listSocialSignOnProvider as socialSignOnProvider>
         <tr>
-          <td>${socialSignOnProvider.sortOrder}</td>
+          <td>${socialSignOnProvider.sortIndex}</td>
           <td><img src="<@base />/static/${socialSignOnProvider.icon}" title="${socialSignOnProvider.providerName}" width="32px;" height="32px;"/></td>
           <td>${socialSignOnProvider.providerName}</td>
           <td>${socialSignOnProvider.bindTime!}</td>

+ 3 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/ApplicationsController.java

@@ -63,6 +63,7 @@ public class ApplicationsController extends BaseAppContorller {
 	@RequestMapping(value = { "/grid" })
 	@ResponseBody
 	public JpaPageResults<Apps> queryDataGrid(@ModelAttribute("applications") Apps applications) {
+		applications.setInstId(WebContext.getUserInfo().getInstId());
 		JpaPageResults<Apps> apps=appsService.queryPageResults(applications);
 		if(apps!=null&&apps.getRows()!=null){
 			for (Apps app : apps.getRows()){
@@ -84,7 +85,7 @@ public class ApplicationsController extends BaseAppContorller {
 		_logger.debug("-Add  :" + application);
 		
 		transform(application);
-		
+		application.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.insert(application)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -150,6 +151,7 @@ public class ApplicationsController extends BaseAppContorller {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("application") Apps application) {
 		_logger.debug("-update  application :" + application);
+		application.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.update(application)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/BasicDetailsController.java

@@ -57,7 +57,7 @@ public class BasicDetailsController  extends BaseAppContorller {
 		_logger.debug("-Add  :" + appDetails);
 
 		transform(appDetails);
-		
+		appDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.insert(appDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -87,7 +87,7 @@ public class BasicDetailsController  extends BaseAppContorller {
 		//
 		_logger.debug("-update  application :" + appDetails);
 		transform(appDetails);
-
+		appDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.update(appDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/CasDetailsController.java

@@ -61,7 +61,7 @@ public class CasDetailsController  extends BaseAppContorller {
 		_logger.debug("-Add  :" + casDetails);
 
 		transform(casDetails);
-		
+		casDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (casDetailsService.insert(casDetails)&&appsService.insertApp(casDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -92,7 +92,7 @@ public class CasDetailsController  extends BaseAppContorller {
 		//
 		_logger.debug("-update  application :" + casDetails);
 		transform(casDetails);
-
+		casDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (casDetailsService.update(casDetails)&&appsService.updateApp(casDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/ExtendApiDetailsController.java

@@ -59,7 +59,7 @@ public class ExtendApiDetailsController  extends BaseAppContorller {
 		_logger.debug("-Add  :" + extendApiDetails);
 		
 		transform(extendApiDetails);
-		
+		extendApiDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.insertApp(extendApiDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -92,7 +92,7 @@ public class ExtendApiDetailsController  extends BaseAppContorller {
 	public ModelAndView update(@ModelAttribute("extendApiDetails") AppsExtendApiDetails extendApiDetails) {
 		_logger.debug("-update  extendApiDetails :" + extendApiDetails);
 		transform(extendApiDetails);
-		
+		extendApiDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.updateApp(extendApiDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/FormBasedDetailsController.java

@@ -64,7 +64,7 @@ public class FormBasedDetailsController  extends BaseAppContorller {
 		_logger.debug("-Add  :" + formBasedDetails);
 		
 		transform(formBasedDetails);
-		
+		formBasedDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (formBasedDetailsService.insert(formBasedDetails)&&appsService.insertApp(formBasedDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -95,6 +95,7 @@ public class FormBasedDetailsController  extends BaseAppContorller {
 		//
 		_logger.debug("-update  application :" + formBasedDetails);
 		transform(formBasedDetails);
+		formBasedDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (formBasedDetailsService.update(formBasedDetails)&&appsService.updateApp(formBasedDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/JwtDetailsController.java

@@ -66,7 +66,7 @@ public class JwtDetailsController  extends BaseAppContorller {
 		transform(jwtDetails);
 		
 		jwtDetails.setAlgorithmKey(jwtDetails.getSecret());
-		
+		jwtDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (jwtDetailsService.insert(jwtDetails)&&appsService.insertApp(jwtDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -99,6 +99,7 @@ public class JwtDetailsController  extends BaseAppContorller {
 		_logger.debug("-update  application :" + jwtDetails);
 		transform(jwtDetails);
 		jwtDetails.setAlgorithmKey(jwtDetails.getSecret());
+		jwtDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (jwtDetailsService.update(jwtDetails)&&appsService.updateApp(jwtDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/OAuth20DetailsController.java

@@ -72,7 +72,7 @@ public class OAuth20DetailsController  extends BaseAppContorller {
 		transform(oauth20Details);
 
 		oauth20Details.setClientSecret(oauth20Details.getSecret());
-		
+		oauth20Details.setInstId(WebContext.getUserInfo().getInstId());
 		oauth20JdbcClientDetailsService.addClientDetails(oauth20Details.clientDetailsRowMapper());
 		if (appsService.insertApp(oauth20Details)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
@@ -115,7 +115,7 @@ public class OAuth20DetailsController  extends BaseAppContorller {
         oauth20JdbcClientDetailsService.updateClientSecret(oauth20Details.getClientId(), oauth20Details.getClientSecret());
         
 		transform(oauth20Details);
-		
+		oauth20Details.setInstId(WebContext.getUserInfo().getInstId());
 		if (appsService.updateApp(oauth20Details)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 		} else {

+ 2 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/SAML20DetailsController.java

@@ -90,6 +90,7 @@ public class SAML20DetailsController   extends BaseAppContorller {
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
+		saml20Details.setInstId(WebContext.getUserInfo().getInstId());
 		saml20DetailsService.insert(saml20Details);
 		if (appsService.insertApp(saml20Details)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
@@ -125,6 +126,7 @@ public class SAML20DetailsController   extends BaseAppContorller {
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
+		saml20Details.setInstId(WebContext.getUserInfo().getInstId());
 		saml20DetailsService.update(saml20Details);
 		if (appsService.updateApp(saml20Details)) {
 			 new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);

+ 2 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/apps/contorller/TokenBasedDetailsController.java

@@ -66,7 +66,7 @@ public class TokenBasedDetailsController  extends BaseAppContorller {
 		transform(tokenBasedDetails);
 		
 		tokenBasedDetails.setAlgorithmKey(tokenBasedDetails.getSecret());
-		
+		tokenBasedDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (tokenBasedDetailsService.insert(tokenBasedDetails)&&appsService.insertApp(tokenBasedDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -99,6 +99,7 @@ public class TokenBasedDetailsController  extends BaseAppContorller {
 		_logger.debug("-update  application :" + tokenBasedDetails);
 		transform(tokenBasedDetails);
 		tokenBasedDetails.setAlgorithmKey(tokenBasedDetails.getSecret());
+		tokenBasedDetails.setInstId(WebContext.getUserInfo().getInstId());
 		if (tokenBasedDetailsService.update(tokenBasedDetails)&&appsService.updateApp(tokenBasedDetails)) {
 			  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 3 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsController.java

@@ -72,6 +72,7 @@ public class AccountsController {
 	@RequestMapping(value={"/grid"})
 	@ResponseBody
 	public JpaPageResults<Accounts> grid(@ModelAttribute("appAccounts") Accounts appAccounts){
+		appAccounts.setInstId(WebContext.getUserInfo().getInstId());
 		return accountsService.queryPageResults(appAccounts);
 		
 	}
@@ -101,6 +102,7 @@ public class AccountsController {
 	@RequestMapping(value={"/add"})  
 	public Message add(@ModelAttribute("appAccounts") Accounts appAccounts ) {
 		_logger.debug("-update  :" + appAccounts);
+		appAccounts.setInstId(WebContext.getUserInfo().getInstId());
 		appAccounts.setRelatedPassword(PasswordReciprocal.getInstance().encode(appAccounts.getRelatedPassword()));
 		accountsService.insert(appAccounts);
 		return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
@@ -128,7 +130,7 @@ public class AccountsController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("appAccounts") Accounts appAccounts ) {
 		_logger.debug("-update  :" + appAccounts);
-		
+		appAccounts.setInstId(WebContext.getUserInfo().getInstId());
 		appAccounts.setRelatedPassword(PasswordReciprocal.getInstance().encode(appAccounts.getRelatedPassword()));
 		accountsService.update(appAccounts);
 		return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/AccountsStrategyController.java

@@ -66,6 +66,7 @@ public class AccountsStrategyController {
 	@ResponseBody
 	public JpaPageResults<AccountsStrategy> queryDataGrid(@ModelAttribute("accountsStrategy") AccountsStrategy accountsStrategy) {
 		_logger.debug(""+accountsStrategy);
+		accountsStrategy.setInstId(WebContext.getUserInfo().getInstId());
 		JpaPageResults<AccountsStrategy> accountsStrategyList =accountsStrategyService.queryPageResults(accountsStrategy);
 		for (AccountsStrategy strategy : accountsStrategyList.getRows()){
 			WebContext.setAttribute(strategy.getId(), strategy.getAppIcon());
@@ -91,7 +92,7 @@ public class AccountsStrategyController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("accountsStrategy") AccountsStrategy accountsStrategy) {
 		_logger.debug("-Add  :" + accountsStrategy);
-		
+		accountsStrategy.setInstId(WebContext.getUserInfo().getInstId());
 		if (accountsStrategyService.insert(accountsStrategy)) {
 		    accountsService.refreshByStrategy(accountsStrategy);
 		    //rolesService.refreshDynamicRoles(role);
@@ -112,6 +113,7 @@ public class AccountsStrategyController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("accountsStrategy") AccountsStrategy accountsStrategy) {
 		_logger.debug("-query  :" + accountsStrategy);
+		accountsStrategy.setInstId(WebContext.getUserInfo().getInstId());
 		if (accountsStrategyService.load(accountsStrategy)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -130,7 +132,7 @@ public class AccountsStrategyController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("accountsStrategy") AccountsStrategy accountsStrategy) {
 		_logger.debug("-update  AccountsStrategy :" + accountsStrategy);
-		
+		accountsStrategy.setInstId(WebContext.getUserInfo().getInstId());
 		if (accountsStrategyService.update(accountsStrategy)) {
 		   // rolesService.refreshDynamicRoles(role);
 		    accountsService.refreshByStrategy(accountsStrategy);

+ 5 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupMemberController.java

@@ -65,6 +65,7 @@ public class GroupMemberController {
 		if(groupMember.getGroupId()==null||groupMember.getGroupId().equals("")){
 			return null;
 		}
+		groupMember.setInstId(WebContext.getUserInfo().getInstId());
 		return groupMemberService.queryPageResults(groupMember);
 	}
 	
@@ -86,6 +87,7 @@ public class GroupMemberController {
 	@ResponseBody
 	public JpaPageResults<GroupMember> queryMemberInGroup(@ModelAttribute("groupMember")  GroupMember groupMember) {
 		_logger.debug("groupMember : "+groupMember);
+		groupMember.setInstId(WebContext.getUserInfo().getInstId());
 		if(groupMember.getGroupId()==null||groupMember.getGroupId().equals("")||groupMember.getGroupId().equals("ROLE_ALL_USER")){
 			return groupMemberService.queryPageResults("allMemberInGroup",groupMember);
 		}else{
@@ -105,7 +107,8 @@ public class GroupMemberController {
 	@RequestMapping(value = { "/queryMemberNotInGroup" })
 	@ResponseBody
 	public JpaPageResults<GroupMember> queryMemberNotInGroupGrid(@ModelAttribute("groupMember")  GroupMember groupMember) {
-			return groupMemberService.queryPageResults("memberNotInGroup",groupMember);
+		groupMember.setInstId(WebContext.getUserInfo().getInstId());
+		return groupMemberService.queryPageResults("memberNotInGroup",groupMember);
 	}
 	
 	
@@ -128,6 +131,7 @@ public class GroupMemberController {
 			for (int i = 0; i < arrMemberIds.length; i++) {
 				GroupMember newGroupMember = new GroupMember(groupId,groupMember.getGroupName(), arrMemberIds[i], arrMemberNames[i],"USER");
 				newGroupMember.setId(WebContext.genId());
+				newGroupMember.setInstId(WebContext.getUserInfo().getInstId());
 				result = groupMemberService.insert(newGroupMember);
 			}
 			if(!result) {

+ 3 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupPrivilegesController.java

@@ -57,7 +57,7 @@ public class GroupPrivilegesController {
 	public JpaPageResults<GroupPrivileges> queryAppsInGroup(@ModelAttribute("groupApp") GroupPrivileges groupApp) {
 		
 		JpaPageResults<GroupPrivileges> groupPrivileges;
-		
+		groupApp.setInstId(WebContext.getUserInfo().getInstId());
 		groupPrivileges= groupPrivilegesService.queryPageResults("appsInGroup",groupApp);
 
 		if(groupPrivileges!=null&&groupPrivileges.getRows()!=null){
@@ -81,7 +81,7 @@ public class GroupPrivilegesController {
 	@ResponseBody
 	public JpaPageResults<GroupPrivileges> queryAppsNotInGroup(@ModelAttribute("groupApp") GroupPrivileges groupApp) {
 		JpaPageResults<GroupPrivileges> groupPrivileges;
-		
+		groupApp.setInstId(WebContext.getUserInfo().getInstId());
 		groupPrivileges= groupPrivilegesService.queryPageResults("appsNotInGroup",groupApp);
 
 		if(groupPrivileges!=null&&groupPrivileges.getRows()!=null){
@@ -111,6 +111,7 @@ public class GroupPrivilegesController {
 			for (int i = 0; i < arrAppIds.length; i++) {
 				GroupPrivileges newGroupApp = new GroupPrivileges(groupId, arrAppIds[i]);
 				newGroupApp.setId(WebContext.genId());
+				newGroupApp.setInstId(WebContext.getUserInfo().getInstId());
 				result = groupPrivilegesService.insert(newGroupApp);
 			}
 			if(!result) {

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/GroupsController.java

@@ -62,6 +62,7 @@ public class GroupsController {
 	@ResponseBody
 	public JpaPageResults<Groups> queryDataGrid(@ModelAttribute("groups") Groups groups) {
 		_logger.debug(""+groups);
+		groups.setInstId(WebContext.getUserInfo().getInstId());
 		return groupsService.queryPageResults(groups);
 	}
 
@@ -83,7 +84,7 @@ public class GroupsController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("group") Groups group) {
 		_logger.debug("-Add  :" + group);
-		
+		group.setInstId(WebContext.getUserInfo().getInstId());
 		if (groupsService.insert(group)) {
 		    groupsService.refreshDynamicGroups(group);
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
@@ -103,6 +104,7 @@ public class GroupsController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("group") Groups group) {
 		_logger.debug("-query  :" + group);
+		group.setInstId(WebContext.getUserInfo().getInstId());
 		if (groupsService.load(group)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -121,7 +123,7 @@ public class GroupsController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("group") Groups group) {
 		_logger.debug("-update  group :" + group);
-		
+		group.setInstId(WebContext.getUserInfo().getInstId());
 		if (groupsService.update(group)) {
 		    groupsService.refreshDynamicGroups(group);
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/NoticesController.java

@@ -55,6 +55,7 @@ public class NoticesController {
 	@ResponseBody
 	public JpaPageResults<Notices> queryDataGrid(@ModelAttribute("notices") Notices notice) {
 		_logger.debug(""+notice);
+		notice.setInstId(WebContext.getUserInfo().getInstId());
 		return noticesService.queryPageResults(notice);
 	}
 
@@ -76,7 +77,7 @@ public class NoticesController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("notice")Notices notice) {
 		_logger.debug("-Add  :" + notice);
-		
+		notice.setInstId(WebContext.getUserInfo().getInstId());
 		if (noticesService.insert(notice)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -95,6 +96,7 @@ public class NoticesController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("notice")Notices notice) {
 		_logger.debug("-query  :" + notice);
+		notice.setInstId(WebContext.getUserInfo().getInstId());
 		if (noticesService.load(notice)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -113,7 +115,7 @@ public class NoticesController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("notice")Notices notice) {
 		_logger.debug("-update  notice :" + notice);
-		
+		notice.setInstId(WebContext.getUserInfo().getInstId());
 		if (noticesService.update(notice)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 7 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/OrganizationsController.java

@@ -69,6 +69,7 @@ public class OrganizationsController {
   public List<HashMap<String, Object>> organizationsTree(@RequestParam(value = "id", required = false) String id) {
     _logger.debug("organizationsTree id :" + id);
     Organizations queryOrg = new Organizations();
+    queryOrg.setInstId(WebContext.getUserInfo().getInstId());
     List<Organizations> organizationsList = this.organizationsService.queryOrgs(queryOrg);
     TreeNodeList treeNodeList = new TreeNodeList();
     
@@ -100,6 +101,7 @@ public class OrganizationsController {
 	@RequestMapping(value = { "/pageresults" })
 	@ResponseBody
 	public JpaPageResults<Organizations> pageResults(@ModelAttribute("orgs") Organizations orgs) {
+		orgs.setInstId(WebContext.getUserInfo().getInstId());
 		return organizationsService.queryPageResults(orgs);
 
 	}
@@ -128,6 +130,7 @@ public class OrganizationsController {
     	org.generateId();
     }
     
+    org.setInstId(WebContext.getUserInfo().getInstId());
     if (this.organizationsService.insert(org)) {
       return new Message(WebContext.getI18nValue("message.action.insert.success"), MessageType.success);
     }
@@ -139,6 +142,7 @@ public class OrganizationsController {
 	@RequestMapping({"/query"})
 	public Message query(@ModelAttribute("org") Organizations org) {
 		_logger.debug("-query  :" + org);
+		org.setInstId(WebContext.getUserInfo().getInstId());
 		if (this.organizationsService.load(org) != null) {
 			return new Message(WebContext.getI18nValue("message.action.insert.success"), MessageType.success);
 		}
@@ -159,6 +163,7 @@ public class OrganizationsController {
 	@RequestMapping({"/update"})
 	public Message update(@ModelAttribute("org") Organizations org) {
 		_logger.debug("-update  organization :" + org);
+		org.setInstId(WebContext.getUserInfo().getInstId());
     	if (this.organizationsService.update(org)) {
     		return new Message(WebContext.getI18nValue("message.action.update.success"), MessageType.success);
     	}
@@ -268,6 +273,8 @@ public class OrganizationsController {
 		// 详细描述
 		organization.setDescription(ExcelUtils.getValue(row, 20));
 		organization.setStatus(1);
+		
+		organization.setInstId(WebContext.getUserInfo().getInstId());
       return organization;
   }
 }

+ 8 - 5
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/PermissionsController.java

@@ -61,8 +61,10 @@ public class PermissionsController {
 	public Message insert(@ModelAttribute("rolePermissions") RolePermissions rolePermissions) {
 		_logger.debug("-save  :" + rolePermissions);
 		//have
-		List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(
-		                new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId()));
+		
+		RolePermissions queryRolePermissions = new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId());
+		queryRolePermissions.setInstId(WebContext.getUserInfo().getInstId());
+		List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(queryRolePermissions);
 		
 		HashMap<String,String >permedMap =new HashMap<String,String >();
 		for(RolePermissions rolePerms : rolePermissionsedList) {
@@ -78,7 +80,7 @@ public class PermissionsController {
                     rolePermissions.getAppId(),
                     rolePermissions.getRoleId(),
                     resourceId);
-		    
+		    newRolePermissions.setInstId(WebContext.getUserInfo().getInstId());
 		    newPermsMap.put(newRolePermissions.getUniqueId(), rolePermissions.getAppId());
 		    
 		    if(!rolePermissions.getAppId().equalsIgnoreCase(resourceId) &&
@@ -112,8 +114,9 @@ public class PermissionsController {
     public List<RolePermissions> querypermissions(@ModelAttribute("rolePermissions") RolePermissions rolePermissions) {
         _logger.debug("-querypermissions  :" + rolePermissions);
         //have
-        List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(
-                        new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId()));
+        RolePermissions queryRolePermissions = new RolePermissions(rolePermissions.getAppId(),rolePermissions.getRoleId());
+		queryRolePermissions.setInstId(WebContext.getUserInfo().getInstId());
+        List<RolePermissions> rolePermissionsedList = rolesService.queryRolePermissions(queryRolePermissions);
         return rolePermissionsedList;
 	}
 

+ 5 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/ResourcesController.java

@@ -68,6 +68,7 @@ public class ResourcesController {
 	@ResponseBody
 	public JpaPageResults<Resources> queryDataGrid(@ModelAttribute("resources") Resources resources) {
 		_logger.debug(""+resources);
+		resources.setInstId(WebContext.getUserInfo().getInstId());
 		return resourcesService.queryPageResults(resources);
 	}
 
@@ -89,7 +90,7 @@ public class ResourcesController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("resource") Resources resource) {
 		_logger.debug("-Add  :" + resource);
-		
+		resource.setInstId(WebContext.getUserInfo().getInstId());
 		if (resourcesService.insert(resource)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -108,6 +109,7 @@ public class ResourcesController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("resource") Resources resource) {
 		_logger.debug("-query  :" + resource);
+		resource.setInstId(WebContext.getUserInfo().getInstId());
 		if (resourcesService.load(resource)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -126,7 +128,7 @@ public class ResourcesController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("resource") Resources resource) {
 		_logger.debug("-update  resource :" + resource);
-		
+		resource.setInstId(WebContext.getUserInfo().getInstId());
 		if (resourcesService.update(resource)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			
@@ -160,6 +162,7 @@ public class ResourcesController {
 	    _logger.debug("resourcesTree appId :" + appId + " ,appName " + appName);
 	    Resources queryRes = new Resources();
 	    queryRes.setAppId(appId);
+	    queryRes.setInstId(WebContext.getUserInfo().getInstId());
 	    List<Resources> resourcesList = this.resourcesService.queryResourcesTree(queryRes);
 	    TreeNodeList treeNodeList = new TreeNodeList();
 	    

+ 5 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RoleMemberController.java

@@ -65,6 +65,7 @@ public class RoleMemberController {
 		if(roleMember.getRoleId()==null||roleMember.getRoleId().equals("")){
 			return null;
 		}
+		roleMember.setInstId(WebContext.getUserInfo().getInstId());
 		return roleMemberService.queryPageResults(roleMember);
 	}
 	
@@ -73,6 +74,7 @@ public class RoleMemberController {
 	@ResponseBody
 	public JpaPageResults<RoleMember> queryMemberInRole(@ModelAttribute("roleMember")  RoleMember roleMember) {
 		_logger.debug("roleMember : "+roleMember);
+		roleMember.setInstId(WebContext.getUserInfo().getInstId());
 		if(roleMember.getRoleId()==null||roleMember.getRoleId().equals("")||roleMember.getRoleId().equals("ALL_USER_ROLE")){
 			return roleMemberService.queryPageResults("allMemberInRole",roleMember);
 		}else{
@@ -92,7 +94,8 @@ public class RoleMemberController {
 	@RequestMapping(value = { "/queryMemberNotInRole" })
 	@ResponseBody
 	public JpaPageResults<RoleMember> queryMemberNotInGroupGrid(@ModelAttribute("roleMember")  RoleMember roleMember) {
-			return roleMemberService.queryPageResults("memberNotInRole",roleMember);
+		roleMember.setInstId(WebContext.getUserInfo().getInstId());
+		return roleMemberService.queryPageResults("memberNotInRole",roleMember);
 	}
 	
 	
@@ -115,6 +118,7 @@ public class RoleMemberController {
 			for (int i = 0; i < arrMemberIds.length; i++) {
 				RoleMember newRoleMember = new RoleMember(groupId,roleMember.getRoleName(), arrMemberIds[i], arrMemberNames[i],"USER");
 				newRoleMember.setId(WebContext.genId());
+				newRoleMember.setInstId(WebContext.getUserInfo().getInstId());
 				result = roleMemberService.insert(newRoleMember);
 			}
 			if(!result) {

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/RolesController.java

@@ -62,6 +62,7 @@ public class RolesController {
 	@ResponseBody
 	public JpaPageResults<Roles> queryDataGrid(@ModelAttribute("roles") Roles roles) {
 		_logger.debug(""+roles);
+		roles.setInstId(WebContext.getUserInfo().getInstId());
 		return rolesService.queryPageResults(roles);
 	}
 
@@ -83,7 +84,7 @@ public class RolesController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("role") Roles role) {
 		_logger.debug("-Add  :" + role);
-		
+		role.setInstId(WebContext.getUserInfo().getInstId());
 		if (rolesService.insert(role)) {
 		    rolesService.refreshDynamicRoles(role);
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
@@ -103,6 +104,7 @@ public class RolesController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("role") Roles role) {
 		_logger.debug("-query  :" + role);
+		role.setInstId(WebContext.getUserInfo().getInstId());
 		if (rolesService.load(role)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -121,7 +123,7 @@ public class RolesController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("role") Roles role) {
 		_logger.debug("-update  role :" + role);
-		
+		role.setInstId(WebContext.getUserInfo().getInstId());
 		if (rolesService.update(role)) {
 		    rolesService.refreshDynamicRoles(role);
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SocialsProviderController.java

@@ -53,6 +53,7 @@ public class SocialsProviderController {
 	@ResponseBody
 	public JpaPageResults<SocialsProvider> queryDataGrid(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) {
 		_logger.debug(""+socialsProvider);
+		socialsProvider.setInstId(WebContext.getUserInfo().getInstId());
 		return socialsProviderService.queryPageResults(socialsProvider);
 	}
 
@@ -73,7 +74,7 @@ public class SocialsProviderController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) {
 		_logger.debug("-Add  :" + socialsProvider);
-		
+		socialsProvider.setInstId(WebContext.getUserInfo().getInstId());
 		if (socialsProviderService.insert(socialsProvider)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -92,6 +93,7 @@ public class SocialsProviderController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) {
 		_logger.debug("-query  :" + socialsProvider);
+		socialsProvider.setInstId(WebContext.getUserInfo().getInstId());
 		if (socialsProviderService.load(socialsProvider)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -110,7 +112,7 @@ public class SocialsProviderController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) {
 		_logger.debug("-update  socialsProvider :" + socialsProvider);
-		
+		socialsProvider.setInstId(WebContext.getUserInfo().getInstId());
 		if (socialsProviderService.update(socialsProvider)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 2 - 1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/SynchronizersController.java

@@ -61,6 +61,7 @@ public class SynchronizersController {
 	@ResponseBody
 	public JpaPageResults<Synchronizers> queryDataGrid(@ModelAttribute("synchronizers") Synchronizers synchronizers) {
 		_logger.debug(""+synchronizers);
+		synchronizers.setInstId(WebContext.getUserInfo().getInstId());
 		return synchronizersService.queryPageResults(synchronizers);
 	}
 
@@ -86,7 +87,7 @@ public class SynchronizersController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("synchronizers") Synchronizers synchronizers) {
 		_logger.debug("-update  synchronizers :" + synchronizers);
-		
+		synchronizers.setInstId(WebContext.getUserInfo().getInstId());
 		if (synchronizersService.update(synchronizers)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 4 - 2
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserAdjointController.java

@@ -58,6 +58,7 @@ public class UserAdjointController {
 	@ResponseBody
 	public JpaPageResults<UserInfoAdjoint> queryDataGrid(@ModelAttribute("userInfoAdjoint") UserInfoAdjoint userInfoAdjoint) {
 		_logger.debug(""+userInfoAdjoint);
+		userInfoAdjoint.setInstId(WebContext.getUserInfo().getInstId());
 		return userInfoAdjointService.queryPageResults(userInfoAdjoint);
 	}
 
@@ -81,7 +82,7 @@ public class UserAdjointController {
 	@RequestMapping(value={"/add"})
 	public Message insert(@ModelAttribute("userInfoAdjoint") UserInfoAdjoint userInfoAdjoint) {
 		_logger.debug("-Add  :" + userInfoAdjoint);
-		
+		userInfoAdjoint.setInstId(WebContext.getUserInfo().getInstId());
 		if (userInfoAdjointService.insert(userInfoAdjoint)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -100,6 +101,7 @@ public class UserAdjointController {
 	@RequestMapping(value={"/query"}) 
 	public Message query(@ModelAttribute("userInfoAdjoint") UserInfoAdjoint userInfoAdjoint) {
 		_logger.debug("-query  :" + userInfoAdjoint);
+		userInfoAdjoint.setInstId(WebContext.getUserInfo().getInstId());
 		if (userInfoAdjointService.load(userInfoAdjoint)!=null) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.INSERT_SUCCESS),MessageType.success);
 			
@@ -118,7 +120,7 @@ public class UserAdjointController {
 	@RequestMapping(value={"/update"})  
 	public Message update(@ModelAttribute("userInfoAdjoint") UserInfoAdjoint userInfoAdjoint) {
 		_logger.debug("-update  userInfoAdjoint :" + userInfoAdjoint);
-		
+		userInfoAdjoint.setInstId(WebContext.getUserInfo().getInstId());
 		if (userInfoAdjointService.update(userInfoAdjoint)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			

+ 4 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java

@@ -91,6 +91,7 @@ public class UserInfoController {
 	@RequestMapping(value={"/grid"})
 	@ResponseBody
 	public JpaPageResults<UserInfo> forwardUsersList(@ModelAttribute("userInfo") UserInfo userInfo){
+		userInfo.setInstId(WebContext.getUserInfo().getInstId());
 		return userInfoService.queryPageResults(userInfo);
 		
 	}
@@ -128,6 +129,7 @@ public class UserInfoController {
 		}
 		
 		userInfo.setId(WebContext.genId());
+		userInfo.setInstId(WebContext.getUserInfo().getInstId());
 		//userInfo.setNameZHShortSpell(StringUtils.hanYu2Pinyin(userInfo.getDisplayName(), true));
 		//userInfo.setNameZHSpell(StringUtils.hanYu2Pinyin(userInfo.getDisplayName(), false));
 		if( userInfoService.insert(userInfo)) {
@@ -196,6 +198,7 @@ public class UserInfoController {
 		//userInfo.setNameZHSpell(StringUtils.hanYu2Pinyin(userInfo.getDisplayName(), false));
 		convertExtraAttribute(userInfo) ;
 		_logger.info(userInfo.getExtraAttribute());
+		userInfo.setInstId(WebContext.getUserInfo().getInstId());
 		if(userInfoService.update(userInfo)) {
 			new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),userInfo,MessageType.success,OperateType.add,MessageScope.DB);
 			
@@ -448,6 +451,7 @@ public class UserInfoController {
 		userInfo.setHomeEmail(ExcelUtils.getValue(row, 46));
 		userInfoService.passwordEncoder(userInfo);
         userInfo.setStatus(1);
+        userInfo.setInstId(WebContext.getUserInfo().getInstId());
         return userInfo;
 	}
 

+ 13 - 8
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/endpoint/IndexEndpoint.java

@@ -17,7 +17,10 @@
 
 package org.maxkey.web.endpoint;
 
+import java.util.HashMap;
+
 import org.maxkey.persistence.service.ReportService;
+import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,15 +46,17 @@ public class IndexEndpoint {
 	public ModelAndView home() {
 		_logger.debug("IndexController /main.");
 		ModelAndView mainMView=new ModelAndView("main");
-		mainMView.addObject("rptDayCount", reportService.analysisDay(""));
-		mainMView.addObject("rptNewUsers", reportService.analysisNewUsers(""));
-		mainMView.addObject("rptOnlineUsers", reportService.analysisOnlineUsers(""));
-		mainMView.addObject("rptActiveUsers", reportService.analysisActiveUsers(""));
+		HashMap<String,Object> reportParameter = new HashMap<String,Object>();
+		reportParameter.put("instId", WebContext.getUserInfo().getInstId());
+		mainMView.addObject("rptDayCount", reportService.analysisDay(reportParameter));
+		mainMView.addObject("rptNewUsers", reportService.analysisNewUsers(reportParameter));
+		mainMView.addObject("rptOnlineUsers", reportService.analysisOnlineUsers(reportParameter));
+		mainMView.addObject("rptActiveUsers", reportService.analysisActiveUsers(reportParameter));
 		
-		mainMView.addObject("rptMonth", reportService.analysisMonth(""));
-		mainMView.addObject("rptDayHour", reportService.analysisDayHour(""));
-		mainMView.addObject("rptBrowser", reportService.analysisBrowser(null));
-		mainMView.addObject("rptApp", reportService.analysisApp(null));
+		mainMView.addObject("rptMonth", reportService.analysisMonth(reportParameter));
+		mainMView.addObject("rptDayHour", reportService.analysisDayHour(reportParameter));
+		mainMView.addObject("rptBrowser", reportService.analysisBrowser(reportParameter));
+		mainMView.addObject("rptApp", reportService.analysisApp(reportParameter));
 		return  mainMView;
 	}
 	

+ 2 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/ConnectorHistoryController.java

@@ -23,6 +23,7 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.entity.HistoryConnector;
 import org.maxkey.persistence.service.HistoryConnectorService;
 import org.maxkey.util.DateUtils;
+import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +66,7 @@ final static Logger _logger = LoggerFactory.getLogger(ConnectorHistoryController
     @ResponseBody
     public JpaPageResults<HistoryConnector> historySynchronizerGrid(@ModelAttribute("historyConnector") HistoryConnector historyConnector){
         _logger.debug("historys/historyConnector/grid/ "+historyConnector);
+        historyConnector.setInstId(WebContext.getUserInfo().getInstId());
         return historyConnectorService.queryPageResults(historyConnector);
     }
 

+ 2 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/LoginAppsHistoryController.java

@@ -23,6 +23,7 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.entity.HistoryLoginApps;
 import org.maxkey.persistence.service.HistoryLoginAppsService;
 import org.maxkey.util.DateUtils;
+import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -64,6 +65,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginAppsHistoryController
 	public JpaPageResults<HistoryLoginApps> loginAppsHistoryGrid(@ModelAttribute("historyLoginApp") HistoryLoginApps historyLoginApp){
 		_logger.debug("historys/loginAppsHistory/datagrid/  "+historyLoginApp);
 		historyLoginApp.setId(null);
+		historyLoginApp.setInstId(WebContext.getUserInfo().getInstId());
 		return historyLoginAppsService.queryPageResults(historyLoginApp);
 	}
 

+ 2 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/historys/contorller/LoginHistoryController.java

@@ -23,6 +23,7 @@ import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.entity.HistoryLogin;
 import org.maxkey.persistence.service.HistoryLoginService;
 import org.maxkey.util.DateUtils;
+import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,6 +64,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginHistoryController.cla
 	@ResponseBody
 	public JpaPageResults<HistoryLogin> logAuthsGrid(@ModelAttribute("historyLogin") HistoryLogin historyLogin){
 		_logger.debug("historys/loginHistory/datagrid/ "+historyLogin);
+		historyLogin.setInstId(WebContext.getUserInfo().getInstId());
 		return loginHistoryService.queryPageResults(historyLogin);
 	}
 	

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff