Compare commits

..

12 Commits

Author SHA1 Message Date
shimingxy
5e01bb5421 test service 2020-06-27 11:33:49 +08:00
shimingxy
7e5b401d24 maxkey-persistence
maxkey-dao rename maxkey-persistence
2020-06-27 11:21:44 +08:00
shimingxy
0c16b11dc6 jks 2020-06-25 18:00:01 +08:00
shimingxy
78e3a93413 sql 2020-06-25 16:34:12 +08:00
shimingxy
b77d04ae4f Update Organization.java 2020-06-25 16:32:37 +08:00
shimingxy
6cbc78a238 SCIM Organization 2020-06-25 16:31:04 +08:00
shimingxy
353f4c13d7 configuration 2020-06-25 14:28:10 +08:00
shimingxy
2d8aeade09 Update AbstractImageEndpoint.java 2020-06-25 14:25:17 +08:00
shimingxy
acd2f9f5b8 Configuration 2020-06-25 14:24:26 +08:00
shimingxy
57d7bf62e5 Update ReleaseNotes.txt 2020-06-25 10:20:59 +08:00
shimingxy
ead1d5ac8d Create maxkey_v2.0.0.RC2.sql 2020-06-25 10:18:17 +08:00
shimingxy
e2071a291c Rest Api for Orgs and Users
Rest Api for Orgs and Users
2020-06-25 10:13:00 +08:00
211 changed files with 2026 additions and 351 deletions

View File

@@ -17,7 +17,8 @@
*(MAXKEY-200616) LINUX操作系统支持
*(MAXKEY-200617) 修改测试域名为sso.maxkey.top
*(MAXKEY-200618) 修复更新应用时状态问题
*(MAXKEY-200619) 依赖jar升级,消除非必要依赖
*(MAXKEY-200619) REST API 机构和用户接口实现
*(MAXKEY-200620) 依赖jar升级,消除非必要依赖
spring 5.2.7.RELEASE
springBoot 2.3.1.RELEASE
springSecurity 5.3.2.RELEASE

View File

@@ -9,7 +9,7 @@ dependencies {
compile project(":maxkey-core")
compile project(":maxkey-dao")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
compile project(":maxkey-protocols:maxkey-protocol-oauth-2.0")
compile project(":maxkey-protocols:maxkey-protocol-saml-2.0")

View File

@@ -6,7 +6,7 @@
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-dao/maxkey-dao">
<dependent-module deploy-path="../" handle="module:/resource/maxkey-persistence/maxkey-persistence">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">

View File

@@ -9,7 +9,7 @@ dependencies {
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
compile project(":maxkey-core")
compile project(":maxkey-dao")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
compile project(":maxkey-connectors:maxkey-connector-base")
compile project(":maxkey-identitys:maxkey-identity-kafka")

View File

@@ -6,7 +6,7 @@
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-dao/maxkey-dao">
<dependent-module deploy-path="../" handle="module:/resource/maxkey-persistence/maxkey-persistence">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">

View File

@@ -9,7 +9,7 @@ dependencies {
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
compile project(":maxkey-core")
compile project(":maxkey-dao")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
compile project(":maxkey-identitys:maxkey-identity-kafka")

View File

@@ -6,7 +6,7 @@
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-dao/maxkey-dao">
<dependent-module deploy-path="../" handle="module:/resource/maxkey-persistence/maxkey-persistence">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">

View File

@@ -9,7 +9,7 @@ dependencies {
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
compile project(":maxkey-core")
compile project(":maxkey-dao")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
compile project(":maxkey-connectors:maxkey-connector-base")
compile project(":maxkey-identitys:maxkey-identity-kafka")

View File

@@ -2,7 +2,7 @@ package org.maxkey.authn;
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.constants.ConstantsLoginType;
import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.crypto.password.opt.AbstractOptAuthn;

View File

@@ -13,8 +13,8 @@ import java.util.Date;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import org.joda.time.DateTime;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.config.oidc.OIDCProviderMetadataDetails;
import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.configuration.oidc.OIDCProviderMetadataDetails;
import org.maxkey.constants.ConstantsLoginType;
import org.maxkey.crypto.jwt.signer.service.impl.DefaultJwtSigningAndValidationService;
import org.maxkey.web.WebContext;

View File

@@ -6,7 +6,7 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.joda.time.DateTime;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.constants.ConstantsLoginType;
import org.maxkey.constants.ConstantsTimeInterval;
import org.maxkey.crypto.Base64Utils;

View File

@@ -6,7 +6,7 @@ import java.net.URI;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import org.maxkey.authn.support.jwt.JwtLoginService;
import org.maxkey.config.oidc.OIDCProviderMetadataDetails;
import org.maxkey.configuration.oidc.OIDCProviderMetadataDetails;
import org.maxkey.constants.ConstantsProperties;
import org.maxkey.crypto.jose.keystore.JWKSetKeyStore;
import org.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService;

View File

@@ -3,7 +3,6 @@ package org.maxkey.autoconfigure;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import org.maxkey.constants.ConstantsProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -134,6 +133,8 @@ public class MvcAutoConfiguration implements InitializingBean {
marshallingHttpMessageConverter.setUnmarshaller(jaxb2Marshaller);
ArrayList<MediaType> mediaTypesList = new ArrayList<MediaType>();
mediaTypesList.add(MediaType.APPLICATION_XML);
mediaTypesList.add(MediaType.TEXT_XML);
mediaTypesList.add(MediaType.TEXT_PLAIN);
marshallingHttpMessageConverter.setSupportedMediaTypes(mediaTypesList);
return marshallingHttpMessageConverter;
}
@@ -148,6 +149,7 @@ public class MvcAutoConfiguration implements InitializingBean {
new MappingJackson2HttpMessageConverter();
ArrayList<MediaType> mediaTypesList = new ArrayList<MediaType>();
mediaTypesList.add(MediaType.APPLICATION_JSON);
mediaTypesList.add(MediaType.TEXT_PLAIN);
mappingJacksonHttpMessageConverter.setSupportedMediaTypes(mediaTypesList);
return mappingJacksonHttpMessageConverter;
}
@@ -173,14 +175,14 @@ public class MvcAutoConfiguration implements InitializingBean {
MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter,
MarshallingHttpMessageConverter marshallingHttpMessageConverter,
StringHttpMessageConverter stringHttpMessageConverter) {
RequestMappingHandlerAdapter requestMappingHandlerAdapter =
new RequestMappingHandlerAdapter();
List<HttpMessageConverter<?>> httpMessageConverterList =
new ArrayList<HttpMessageConverter<?>>();
httpMessageConverterList.add(mappingJacksonHttpMessageConverter);
httpMessageConverterList.add(marshallingHttpMessageConverter);
httpMessageConverterList.add(stringHttpMessageConverter);
RequestMappingHandlerAdapter requestMappingHandlerAdapter =
new RequestMappingHandlerAdapter();
requestMappingHandlerAdapter.setMessageConverters(httpMessageConverterList);
return requestMappingHandlerAdapter;
}

View File

@@ -1,4 +1,4 @@
package org.maxkey.config;
package org.maxkey.configuration;
import org.maxkey.constants.ConstantsProperties;
import org.slf4j.Logger;
@@ -55,6 +55,9 @@ public class ApplicationConfig {
@Value("${config.identity.kafkasupport:false}")
private boolean kafkaSupport;
@Value("${config.maxkey.uri}")
private String maxKeyUri;
public int getPort() {
return port;
}
@@ -209,6 +212,14 @@ public class ApplicationConfig {
this.kafkaSupport = kafkaSupport;
}
public String getMaxKeyUri() {
return maxKeyUri;
}
public void setMaxKeyUri(String maxKeyUri) {
this.maxKeyUri = maxKeyUri;
}
/*
* public boolean isWhiteList() { return whiteList; }
*

View File

@@ -1,4 +1,4 @@
package org.maxkey.config;
package org.maxkey.configuration;
import java.io.UnsupportedEncodingException;

View File

@@ -1,4 +1,4 @@
package org.maxkey.config;
package org.maxkey.configuration;
import org.maxkey.constants.ConstantsProperties;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,4 +1,4 @@
package org.maxkey.config;
package org.maxkey.configuration;
import org.maxkey.constants.ConstantsProperties;
import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,4 +1,4 @@
package org.maxkey.config.oidc;
package org.maxkey.configuration.oidc;
import java.net.URI;
import java.util.Set;

View File

@@ -1,4 +1,4 @@
package org.maxkey.config.oidc;
package org.maxkey.configuration.oidc;
import java.net.URI;
import java.util.Set;

View File

@@ -4,7 +4,7 @@ import java.text.MessageFormat;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.SimpleEmail;
import org.maxkey.config.EmailConfig;
import org.maxkey.configuration.EmailConfig;
import org.maxkey.crypto.password.opt.AbstractOptAuthn;
import org.maxkey.domain.UserInfo;
import org.slf4j.Logger;

View File

@@ -7,59 +7,55 @@ import org.maxkey.crypto.Base64Utils;
*
*/
public class AuthorizationHeaderUtils {
public static String AUTHORIZATION_HEADERNAME="Authorization";
public static String BASIC="Basic ";
public static String BEARER="Bearer ";
public static String createBasic( String username, String password ){
String authUserPass = username + ":" + password;
String encodedAuthUserPass = Base64Utils.encode(authUserPass );
return BASIC + encodedAuthUserPass;
}
public static final String AUTHORIZATION_HEADERNAME = "Authorization";
public static String [] resolveBasic( String basic ){
if(isBasic(basic)){
String[] userPass =basic.split(" ");
String decodeUserPass = Base64Utils.decode(userPass[1] );
return decodeUserPass.split(":");
}else{
return null;
}
}
public static boolean isBasic( String basic ){
if(basic.startsWith(BASIC )){
return true;
}else{
return false;
}
}
public static String resolveBearer( String bearer ){
if(isBearer(bearer)){
return bearer.split(" ")[1];
}else{
return null;
}
}
public static String createBearer(String bearer){
return BEARER +bearer;
}
public static final String BASIC = "Basic ";
public static boolean isBearer( String bearer ){
if(bearer.startsWith(BEARER )){
return true;
}else{
return false;
}
}
public static final String BEARER = "Bearer ";
public static String createBasic(String username, String password) {
String authUserPass = username + ":" + password;
String encodedAuthUserPass = Base64Utils.encode(authUserPass);
return BASIC + encodedAuthUserPass;
}
public static String[] resolveBasic(String basic) {
if (isBasic(basic)) {
String[] userPass = basic.split(" ");
String decodeUserPass = Base64Utils.decode(userPass[1]);
return decodeUserPass.split(":");
} else {
return null;
}
}
public static boolean isBasic(String basic) {
if (basic.startsWith(BASIC)) {
return true;
} else {
return false;
}
}
public static String resolveBearer(String bearer) {
if (isBearer(bearer)) {
return bearer.split(" ")[1];
} else {
return null;
}
}
public static String createBearer(String bearer) {
return BEARER + bearer;
}
public static boolean isBearer(String bearer) {
if (bearer.startsWith(BEARER)) {
return true;
} else {
return false;
}
}
}

View File

@@ -13,7 +13,7 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.logging.LogFactory;
import org.maxkey.authn.BasicAuthentication;
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.domain.UserInfo;
import org.maxkey.util.DateUtils;
import org.maxkey.util.StringGenerator;

View File

@@ -9,7 +9,7 @@ import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.configuration.ApplicationConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -1 +0,0 @@
/build/

View File

@@ -1,11 +0,0 @@
build.commands=org.eclipse.jdt.core.javabuilder
connection.arguments=
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.java.home=null
connection.jvm.arguments=
connection.project.dir=..
containers=org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7/
derived.resources=.gradle,build
eclipse.preferences.version=1
natures=org.eclipse.jdt.core.javanature
project.path=\:maxkey-dao

View File

@@ -1,17 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.cleanOutputFolder=clean
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
org.eclipse.jdt.core.builder.invalidClasspath=abort
org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
org.eclipse.jdt.core.circularClasspath=warning
org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error

View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="maxkey-dao">
<wb-resource deploy-path="/" source-path="/src/main/java"/>
<wb-resource deploy-path="/" source-path="/src/main/resources"/>
<wb-resource deploy-path="/" source-path="/src/test/java"/>
<wb-resource deploy-path="/" source-path="/src/test/resources"/>
</wb-module>
</project-modules>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="java"/>
<fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>

View File

@@ -1,20 +0,0 @@
DELEGATES_PREFERENCE=delegateValidatorList
USER_BUILD_PREFERENCE=enabledBuildValidatorList
USER_MANUAL_PREFERENCE=enabledManualValidatorList
USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.800.v201904082137
eclipse.preferences.version=1
override=true
suspend=false
vals/org.eclipse.jst.jsf.facelet.ui.FaceletHTMLValidator/global=FF01
vals/org.eclipse.jst.jsf.ui.JSFAppConfigValidator/global=FF01
vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01
vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01
vals/org.eclipse.jst.jsp.core.TLDValidator/global=FF01
vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01
vals/org.eclipse.wst.html.core.HTMLValidator/global=FF01
vals/org.eclipse.wst.json.core.json/global=FF03
vals/org.eclipse.wst.wsdl.validation.wsdl/global=FF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator
vals/org.eclipse.wst.xml.core.xml/global=FF03
vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator
vals/org.eclipse.wst.xsl.core.xsl/global=FF02
vf.version=3

View File

@@ -2,7 +2,7 @@ package org.maxkey.identity.kafka;
import java.util.UUID;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.util.DateUtils;
import org.maxkey.util.JsonUtils;
import org.slf4j.Logger;
@@ -40,9 +40,35 @@ public class KafkaProvisioningService {
message.setContent(JsonUtils.gson2Json(content));
String msg = JsonUtils.gson2Json(message);
_logger.info("send message = {}", msg);
//通过线程发送Kafka消息
KafkaProvisioningThread thread =
new KafkaProvisioningThread(kafkaTemplate,topic,msg);
kafkaTemplate.send(topic, msg);
thread.start();
}
}
class KafkaProvisioningThread extends Thread{
KafkaTemplate<String, String> kafkaTemplate;
String topic ;
String msg;
public KafkaProvisioningThread(KafkaTemplate<String, String> kafkaTemplate, String topic, String msg) {
this.kafkaTemplate = kafkaTemplate;
this.topic = topic;
this.msg = msg;
}
@Override
public void run() {
kafkaTemplate.send(topic, msg);
}
}
}

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="bin/main" path="src/main/java">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/main" path="src/main/resources">
<attributes>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="src/test/java">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="bin/test" path="src/test/resources">
<attributes>
<attribute name="gradle_scope" value="test"/>
<attribute name="gradle_used_by_scope" value="test"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
<attributes>
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin/default"/>
</classpath>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>maxkey-identity-rest</name>
<comment>Project maxkey-identity-rest created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,2 @@
connection.project.dir=../..
eclipse.preferences.version=1

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="maxkey-identity-rest">
<wb-resource deploy-path="/" source-path="src/main/resources"/>
<wb-resource deploy-path="/" source-path="src/main/java"/>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-persistence/maxkey-persistence">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">
<dependency-type>uses</dependency-type>
</dependent-module>
</wb-module>
</project-modules>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.java"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="jst.java" version="1.8"/>
</faceted-project>

View File

@@ -0,0 +1,15 @@
description = "maxkey-identity-rest"
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
dependencies {
//local jars
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
compile project(":maxkey-core")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
}

View File

@@ -0,0 +1,70 @@
package org.maxkey.identity.rest;
import java.io.IOException;
import org.maxkey.domain.Organizations;
import org.maxkey.persistence.service.OrganizationsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.util.UriComponentsBuilder;
@Controller
@RequestMapping(value={"/identity/api/org"})
public class RestApiOrgController {
@Autowired
OrganizationsService organizationsService;
@ResponseBody
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Organizations getUser(@PathVariable String id,
@RequestParam(required = false) String attributes) {
Organizations org = organizationsService.get(id);
return org;
}
@ResponseBody
@RequestMapping(method = RequestMethod.POST)
public Organizations create(@RequestBody Organizations org,
@RequestParam(required = false) String attributes,
UriComponentsBuilder builder) throws IOException {
Organizations loadOrg = organizationsService.get(org.getId());
if(loadOrg == null) {
organizationsService.insert(org);
}else {
organizationsService.update(org);
}
return org;
}
@ResponseBody
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public Organizations replace(@PathVariable String id,
@RequestBody Organizations org,
@RequestParam(required = false) String attributes)
throws IOException {
Organizations loadOrg = organizationsService.get(id);
if(loadOrg == null) {
organizationsService.insert(org);
}else {
organizationsService.update(org);
}
return org;
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.OK)
public void delete(@PathVariable final String id) {
organizationsService.remove(id);
}
}

View File

@@ -0,0 +1,74 @@
package org.maxkey.identity.rest;
import java.io.IOException;
import org.maxkey.domain.UserInfo;
import org.maxkey.persistence.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.util.UriComponentsBuilder;
@Controller
@RequestMapping(value={"/identity/api/userinfo"})
public class RestApiUserInfoController {
@Autowired
@Qualifier("userInfoService")
private UserInfoService userInfoService;
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public UserInfo getUser(
@PathVariable String id,
@RequestParam(required = false) String attributes) {
UserInfo loadUserInfo = userInfoService.get(id);
loadUserInfo.setDecipherable(null);
return loadUserInfo;
}
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public UserInfo create(@RequestBody UserInfo userInfo,
@RequestParam(required = false) String attributes,
UriComponentsBuilder builder) throws IOException {
UserInfo loadUserInfo = userInfoService.loadByUsername(userInfo.getUsername());
if(loadUserInfo != null) {
userInfoService.update(userInfo);
}else {
userInfoService.insert(userInfo);
}
return userInfo;
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
@ResponseBody
public UserInfo replace(@PathVariable String id,
@RequestBody UserInfo userInfo,
@RequestParam(required = false) String attributes)
throws IOException {
UserInfo loadUserInfo = userInfoService.loadByUsername(userInfo.getUsername());
if(loadUserInfo != null) {
userInfoService.update(userInfo);
}else {
userInfoService.insert(userInfo);
}
return userInfo;
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.OK)
public void delete(@PathVariable final String id) {
userInfoService.logisticDeleteAllByCid(id);
}
}

View File

@@ -6,7 +6,7 @@
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-dao/maxkey-dao">
<dependent-module deploy-path="../" handle="module:/resource/maxkey-persistence/maxkey-persistence">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">

View File

@@ -9,7 +9,7 @@ dependencies {
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
compile project(":maxkey-core")
compile project(":maxkey-dao")
compile project(":maxkey-persistence")
compile project(":maxkey-client-sdk")
}

View File

@@ -0,0 +1,83 @@
package org.maxkey.identity.scim.controller;
import java.io.IOException;
import java.util.Map;
import org.maxkey.identity.scim.resources.Organization;
import org.maxkey.identity.scim.resources.ScimSearchResult;
import org.maxkey.identity.scim.resources.User;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.json.MappingJacksonValue;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.util.UriComponentsBuilder;
/**
* This Controller is used to manage Organization
* <p>
* http://tools.ietf.org/html/draft-ietf-scim-core-schema-00#section-6
* <p>
* it is based on the SCIM 2.0 API Specification:
* <p>
* http://tools.ietf.org/html/draft-ietf-scim-api-00#section-3
*/
@RestController
@RequestMapping(value = "/identity/scim/v2/Organization")
public class OrganizationController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public MappingJacksonValue getOrganization(@PathVariable String id,
@RequestParam(required = false) String attributes) {
Organization user = null;
return null;
}
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<MappingJacksonValue> create(@RequestBody Organization user,
@RequestParam(required = false) String attributes,
UriComponentsBuilder builder) throws IOException {
Organization createdUser = null;
return null;
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public ResponseEntity<MappingJacksonValue> replace(@PathVariable String id,
@RequestBody Organization user,
@RequestParam(required = false) String attributes)
throws IOException {
Organization createdUser = null;
return null;
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.OK)
public void delete(@PathVariable final String id) {
//tokenService.revokeAllTokensOfUser(id);
}
@RequestMapping(method = RequestMethod.GET)
public MappingJacksonValue searchWithGet(@RequestParam Map<String, String> requestParameters) {
return searchWithPost(requestParameters);
}
@RequestMapping(value = "/.search", method = RequestMethod.POST)
public MappingJacksonValue searchWithPost(@RequestParam Map<String, String> requestParameters) {
ScimSearchResult<User> scimSearchResult = null;
/*
requestParameters.get("filter"),
requestParameters.get("sortBy"),
requestParameters.getOrDefault("sortOrder", "ascending"), // scim default
Integer.parseInt(requestParameters.getOrDefault("count", "" + ServiceProviderConfigController.MAX_RESULTS)),
Integer.parseInt(requestParameters.getOrDefault("startIndex", "1")); // scim default
*/
String attributes = (requestParameters.containsKey("attributes") ? requestParameters.get("attributes") : "");
return null;
}
}

View File

@@ -0,0 +1,170 @@
package org.maxkey.identity.scim.resources;
import java.util.HashSet;
import java.util.List;
public class Organization extends Resource{
/**
*
*/
private static final long serialVersionUID = -8087404240254880740L;
public static String SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:Organization";
private String code;
private String name;
private String fullName;
private String parentId;
private String parentName;
private String type;
private String codePath;
private String namePath;
private String level;
private String division;
private List<OrganizationAddress> addresses;
private List<OrganizationEmail> emails;
private List<OrganizationPhoneNumber> phoneNumbers;
private String sortOrder;
private String description;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getCodePath() {
return codePath;
}
public void setCodePath(String codePath) {
this.codePath = codePath;
}
public String getNamePath() {
return namePath;
}
public void setNamePath(String namePath) {
this.namePath = namePath;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getDivision() {
return division;
}
public void setDivision(String division) {
this.division = division;
}
public String getSortOrder() {
return sortOrder;
}
public void setSortOrder(String sortOrder) {
this.sortOrder = sortOrder;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<OrganizationAddress> getAddresses() {
return addresses;
}
public void setAddresses(List<OrganizationAddress> addresses) {
this.addresses = addresses;
}
public List<OrganizationEmail> getEmails() {
return emails;
}
public void setEmails(List<OrganizationEmail> emails) {
this.emails = emails;
}
public List<OrganizationPhoneNumber> getPhoneNumbers() {
return phoneNumbers;
}
public void setPhoneNumbers(List<OrganizationPhoneNumber> phoneNumbers) {
this.phoneNumbers = phoneNumbers;
}
public Organization() {
schemas =new HashSet<String>();
schemas.add(SCHEMA);
}
}

View File

@@ -0,0 +1,71 @@
package org.maxkey.identity.scim.resources;
import java.io.Serializable;
public class OrganizationAddress extends MultiValuedAttribute implements Serializable {
/**
*
*/
private static final long serialVersionUID = 7401597570364338298L;
private String formatted;
private String streetAddress;
private String locality;
private String region;
private String postalCode;
private String country;
public static class UserAddressType {
public static final String WORK = "work";
public static final String HOME = "home";
public static final String OTHER = "other";
}
public String getFormatted() {
return formatted;
}
public void setFormatted(String formatted) {
this.formatted = formatted;
}
public String getStreetAddress() {
return streetAddress;
}
public void setStreetAddress(String streetAddress) {
this.streetAddress = streetAddress;
}
public String getLocality() {
return locality;
}
public void setLocality(String locality) {
this.locality = locality;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getPostalCode() {
return postalCode;
}
public void setPostalCode(String postalCode) {
this.postalCode = postalCode;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public OrganizationAddress() {
}
}

View File

@@ -0,0 +1,54 @@
package org.maxkey.identity.scim.resources;
import java.io.Serializable;
public class OrganizationEmail extends MultiValuedAttribute implements Serializable {
/**
*
*/
private static final long serialVersionUID = -41327146592552688L;
public static class UserEmailType {
public static final String WORK = "work";
public static final String HOME = "home";
public static final String OTHER = "other";
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isPrimary() {
return primary;
}
public void setPrimary(boolean primary) {
this.primary = primary;
}
public OrganizationEmail() {
}
public OrganizationEmail(String value, String type, boolean primary) {
super();
this.value = value;
this.type = type;
this.primary = primary;
}
}

View File

@@ -0,0 +1,21 @@
package org.maxkey.identity.scim.resources;
import java.io.Serializable;
public class OrganizationPhoneNumber extends MultiValuedAttribute implements Serializable {
/**
*
*/
private static final long serialVersionUID = 3201987266085144715L;
public static class UserPhoneNumberType {
public static final String WORK = "work";
public static final String HOME = "home";
public static final String MOBILE = "mobile";
public static final String FAX = "fax";
public static final String PAGER = "pager";
public static final String OTHER = "other";
}
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>maxkey-dao</name>
<name>maxkey-persistence</name>
<comment>maxkey-dao</comment>
<projects>
</projects>

View File

@@ -1,4 +1,4 @@
description = "maxkey-dao"
description = "maxkey-persistence"
dependencies {
//local jars

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.Accounts;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.apps.AppsCasDetails;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.apps.AppsDesktopDetails;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.apps.AppsFormBasedDetails;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.apps.AppsSAML20Details;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.apps.AppsTokenBasedDetails;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.Groups;

View File

@@ -1,4 +1,4 @@
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.HistoryLoginApps;

View File

@@ -1,4 +1,4 @@
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.HistoryLogs;

View File

@@ -1,4 +1,4 @@
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.Organizations;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.PasswordPolicy;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;
import java.util.Map;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
import org.maxkey.domain.Resources;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,7 +1,7 @@
/**
*
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;

View File

@@ -2,4 +2,4 @@
*
* Sql DAO Mapper XML Configuration.
*/
package org.maxkey.dao.persistence;
package org.maxkey.persistence.mapper;

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AccountsMapper;
import org.maxkey.domain.Accounts;
import org.maxkey.persistence.mapper.AccountsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsCasDetailsMapper;
import org.maxkey.domain.apps.AppsCasDetails;
import org.maxkey.persistence.mapper.AppsCasDetailsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsDesktopDetailsMapper;
import org.maxkey.domain.apps.AppsDesktopDetails;
import org.maxkey.persistence.mapper.AppsDesktopDetailsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsFormBasedDetailsMapper;
import org.maxkey.domain.apps.AppsFormBasedDetails;
import org.maxkey.persistence.mapper.AppsFormBasedDetailsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsSaml20DetailsMapper;
import org.maxkey.domain.apps.AppsSAML20Details;
import org.maxkey.persistence.mapper.AppsSaml20DetailsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,11 +1,11 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsMapper;
import org.maxkey.domain.apps.Apps;
import org.maxkey.domain.apps.UserApps;
import org.maxkey.persistence.mapper.AppsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.AppsTokenBasedDetailsMapper;
import org.maxkey.domain.apps.AppsTokenBasedDetails;
import org.maxkey.persistence.mapper.AppsTokenBasedDetailsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.GroupMemberMapper;
import org.maxkey.domain.GroupMember;
import org.maxkey.persistence.mapper.GroupMemberMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.GroupPrivilegesMapper;
import org.maxkey.domain.GroupPrivileges;
import org.maxkey.persistence.mapper.GroupPrivilegesMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.GroupsMapper;
import org.maxkey.domain.Groups;
import org.maxkey.persistence.mapper.GroupsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.HistoryLoginAppsMapper;
import org.maxkey.domain.HistoryLoginApps;
import org.maxkey.persistence.mapper.HistoryLoginAppsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.HistoryLoginMapper;
import org.maxkey.domain.HistoryLogin;
import org.maxkey.persistence.mapper.HistoryLoginMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.HistoryLogsMapper;
import org.maxkey.domain.HistoryLogs;
import org.maxkey.persistence.mapper.HistoryLogsMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,11 +1,11 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.OrganizationsMapper;
import org.maxkey.domain.Organizations;
import org.maxkey.identity.kafka.KafkaIdentityAction;
import org.maxkey.identity.kafka.KafkaIdentityTopic;
import org.maxkey.identity.kafka.KafkaProvisioningService;
import org.maxkey.persistence.mapper.OrganizationsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.PasswordPolicyMapper;
import org.maxkey.domain.PasswordPolicy;
import org.maxkey.persistence.mapper.PasswordPolicyMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,11 +1,11 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.RegistrationMapper;
import org.maxkey.domain.Registration;
import org.maxkey.domain.UserInfo;
import org.maxkey.persistence.mapper.RegistrationMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,11 +1,11 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import java.util.List;
import java.util.Map;
import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.ReportMapper;
import org.maxkey.persistence.mapper.ReportMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.ResourcesMapper;
import org.maxkey.domain.Resources;
import org.maxkey.persistence.mapper.ResourcesMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,8 +1,8 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.RoleMemberMapper;
import org.maxkey.domain.RoleMember;
import org.maxkey.persistence.mapper.RoleMemberMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,11 +1,11 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.dao.persistence.RolesMapper;
import org.maxkey.domain.RolePermissions;
import org.maxkey.domain.Roles;
import org.maxkey.persistence.mapper.RolesMapper;
import org.springframework.stereotype.Service;
@Service

View File

@@ -1,16 +1,16 @@
package org.maxkey.dao.service;
package org.maxkey.persistence.service;
import org.apache.mybatis.jpa.persistence.JpaBaseService;
import org.maxkey.constants.ConstantsStatus;
import org.maxkey.crypto.ReciprocalUtils;
import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.dao.persistence.UserInfoMapper;
import org.maxkey.domain.ChangePassword;
import org.maxkey.domain.UserInfo;
import org.maxkey.identity.kafka.KafkaIdentityAction;
import org.maxkey.identity.kafka.KafkaIdentityTopic;
import org.maxkey.identity.kafka.KafkaProvisioningService;
import org.maxkey.persistence.mapper.UserInfoMapper;
import org.maxkey.util.DateUtils;
import org.maxkey.util.StringUtils;
import org.maxkey.web.WebContext;

View File

@@ -2,4 +2,4 @@
*
* Mysql DAO Mapper XML Configuration.
*/
package org.maxkey.dao.service;
package org.maxkey.persistence.service;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.dao.persistence.AccountsMapper">
<mapper namespace="org.maxkey.persistence.mapper.AccountsMapper">
<sql id="where_statement">
<if test="id != null and id != ''">

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.dao.persistence.AppsCasDetailsMapper">
<mapper namespace="org.maxkey.persistence.mapper.AppsCasDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsCasDetails">
SELECT
*

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.dao.persistence.AppsDesktopDetailsMapper">
<mapper namespace="org.maxkey.persistence.mapper.AppsDesktopDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsDesktopDetails">
SELECT

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.dao.persistence.AppsFormBasedDetailsMapper">
<mapper namespace="org.maxkey.persistence.mapper.AppsFormBasedDetailsMapper">
<select id="getAppDetails" parameterType="string" resultType="AppsFormBasedDetails">
SELECT

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.maxkey.dao.persistence.AppsMapper">
<mapper namespace="org.maxkey.persistence.mapper.AppsMapper">
<sql id="where_statement">
<if test="id != null and id != ''">

Some files were not shown because too many files have changed in this diff Show More