mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-08 01:48:33 +08:00
4.0.2
This commit is contained in:
parent
b8838cbae8
commit
ce87d209c1
@ -28,7 +28,7 @@ ext {
|
||||
def libjarsmapper=[
|
||||
'maxkey-authentication-captcha' :'lib',
|
||||
'maxkey-authentication-core' :'lib',
|
||||
'maxkey-authentication-ip2region' :'lib',
|
||||
'maxkey-authentication-ip2location' :'lib',
|
||||
'maxkey-authentication-otp' :'lib',
|
||||
'maxkey-authentication-provider' :'lib',
|
||||
'maxkey-authentication-sms' :'lib',
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
# */
|
||||
#maxkey properties
|
||||
group =org.dromara.maxkey
|
||||
version =4.0.1
|
||||
version =4.0.2
|
||||
vendor =https://www.maxkey.top
|
||||
author =MaxKeyTop
|
||||
|
||||
|
||||
@ -89,7 +89,7 @@ public class ApplicationAutoConfiguration implements InitializingBean {
|
||||
@Bean
|
||||
public PasswordEncoder passwordEncoder(
|
||||
@Value("${maxkey.crypto.password.encoder:bcrypt}") String idForEncode) {
|
||||
Map<String ,PasswordEncoder > encoders = new HashMap<String ,PasswordEncoder>();
|
||||
Map<String ,PasswordEncoder > encoders = new HashMap<>();
|
||||
encoders.put("bcrypt", new BCryptPasswordEncoder());
|
||||
encoders.put("plain", NoOpPasswordEncoder.getInstance());
|
||||
encoders.put("pbkdf2", Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8());
|
||||
@ -174,8 +174,8 @@ public class ApplicationAutoConfiguration implements InitializingBean {
|
||||
@Value("${maxkey.id.datacenterId:0}") int datacenterId,
|
||||
@Value("${maxkey.id.machineId:0}") int machineId) {
|
||||
IdGenerator idGenerator = new IdGenerator(strategy);
|
||||
SnowFlakeId SnowFlakeId = new SnowFlakeId(datacenterId,machineId);
|
||||
idGenerator.setSnowFlakeId(SnowFlakeId);
|
||||
SnowFlakeId snowFlakeId = new SnowFlakeId(datacenterId,machineId);
|
||||
idGenerator.setSnowFlakeId(snowFlakeId);
|
||||
WebContext.idGenerator = idGenerator;
|
||||
return idGenerator;
|
||||
}
|
||||
@ -184,14 +184,13 @@ public class ApplicationAutoConfiguration implements InitializingBean {
|
||||
@Bean
|
||||
public MomentaryService momentaryService(
|
||||
RedisConnectionFactory redisConnFactory,
|
||||
@Value("${maxkey.server.persistence}") int persistence) throws JOSEException {
|
||||
@Value("${maxkey.server.persistence}") int persistence) {
|
||||
MomentaryService momentaryService;
|
||||
if (persistence == ConstsPersistence.REDIS) {
|
||||
momentaryService = new RedisMomentaryService(redisConnFactory);
|
||||
}else {
|
||||
momentaryService = new InMemoryMomentaryService();
|
||||
}
|
||||
|
||||
return momentaryService;
|
||||
}
|
||||
|
||||
|
||||
@ -75,11 +75,10 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
public ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource(
|
||||
@Value("${spring.messages.basename:classpath:messages/message}")
|
||||
String messagesBasename) {
|
||||
_logger.debug("Basename " + messagesBasename);
|
||||
_logger.debug("Basename {}" , messagesBasename);
|
||||
String passwordPolicyMessagesBasename="classpath:messages/passwordpolicy_message";
|
||||
|
||||
ReloadableResourceBundleMessageSource messageSource =
|
||||
new ReloadableResourceBundleMessageSource();
|
||||
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
|
||||
messageSource.setBasenames(messagesBasename,passwordPolicyMessagesBasename);
|
||||
messageSource.setUseCodeAsDefaultMessage(false);
|
||||
return messageSource;
|
||||
@ -92,27 +91,11 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
//@Primary
|
||||
@Bean (name = "localeChangeInterceptor")
|
||||
public LocaleChangeInterceptor localeChangeInterceptor() {
|
||||
LocaleChangeInterceptor localeChangeInterceptor =
|
||||
new LocaleChangeInterceptor();
|
||||
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
|
||||
localeChangeInterceptor.setParamName("language");
|
||||
return localeChangeInterceptor;
|
||||
}
|
||||
|
||||
/**
|
||||
* upload file support .
|
||||
* @return multipartResolver
|
||||
*/
|
||||
/*
|
||||
@Bean (name = "multipartResolver")
|
||||
public CommonsMultipartResolver commonsMultipartResolver(
|
||||
@Value("${spring.servlet.multipart.max-file-size:0}") int maxUploadSize) {
|
||||
_logger.debug("maxUploadSize " + maxUploadSize);
|
||||
CommonsMultipartResolver multipartResolver =
|
||||
new CommonsMultipartResolver();
|
||||
multipartResolver.setMaxUploadSize(maxUploadSize);
|
||||
return multipartResolver;
|
||||
}*/
|
||||
|
||||
/**
|
||||
* handlerMapping .
|
||||
* @return handlerMapping
|
||||
@ -120,8 +103,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
@Bean (name = "handlerMapping")
|
||||
public RequestMappingHandlerMapping requestMappingHandlerMapping(
|
||||
LocaleChangeInterceptor localeChangeInterceptor) {
|
||||
RequestMappingHandlerMapping requestMappingHandlerMapping =
|
||||
new RequestMappingHandlerMapping();
|
||||
RequestMappingHandlerMapping requestMappingHandlerMapping = new RequestMappingHandlerMapping();
|
||||
requestMappingHandlerMapping.setInterceptors(localeChangeInterceptor);
|
||||
return requestMappingHandlerMapping;
|
||||
}
|
||||
@ -144,15 +126,14 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
@Bean (name = "marshallingHttpMessageConverter")
|
||||
public MarshallingHttpMessageConverter marshallingHttpMessageConverter(
|
||||
Jaxb2Marshaller jaxb2Marshaller) {
|
||||
MarshallingHttpMessageConverter marshallingHttpMessageConverter =
|
||||
new MarshallingHttpMessageConverter();
|
||||
MarshallingHttpMessageConverter marshallingHttpMessageConverter = new MarshallingHttpMessageConverter();
|
||||
marshallingHttpMessageConverter.setMarshaller(jaxb2Marshaller);
|
||||
marshallingHttpMessageConverter.setUnmarshaller(jaxb2Marshaller);
|
||||
ArrayList<MediaType> mediaTypesList = new ArrayList<MediaType>();
|
||||
ArrayList<MediaType> mediaTypesList = new ArrayList<>();
|
||||
mediaTypesList.add(MediaType.APPLICATION_XML);
|
||||
mediaTypesList.add(MediaType.TEXT_XML);
|
||||
mediaTypesList.add(MediaType.TEXT_PLAIN);
|
||||
_logger.debug("marshallingHttpMessageConverter MediaTypes " + mediaTypesList);
|
||||
_logger.debug("marshallingHttpMessageConverter MediaTypes {}" , mediaTypesList);
|
||||
marshallingHttpMessageConverter.setSupportedMediaTypes(mediaTypesList);
|
||||
return marshallingHttpMessageConverter;
|
||||
}
|
||||
@ -163,14 +144,13 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
*/
|
||||
@Bean (name = "mappingJacksonHttpMessageConverter")
|
||||
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
|
||||
MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter =
|
||||
new MappingJackson2HttpMessageConverter();
|
||||
ArrayList<MediaType> mediaTypesList = new ArrayList<MediaType>();
|
||||
MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter = new MappingJackson2HttpMessageConverter();
|
||||
ArrayList<MediaType> mediaTypesList = new ArrayList<>();
|
||||
mediaTypesList.add(MediaType.APPLICATION_JSON);
|
||||
mediaTypesList.add(MediaType.valueOf(ApiVersion.V2.getProducedMimeType().toString()));
|
||||
mediaTypesList.add(MediaType.valueOf(ApiVersion.V3.getProducedMimeType().toString()));
|
||||
//mediaTypesList.add(MediaType.TEXT_PLAIN);
|
||||
_logger.debug("mappingJacksonHttpMessageConverter MediaTypes " + mediaTypesList);
|
||||
_logger.debug("mappingJacksonHttpMessageConverter MediaTypes {}" , mediaTypesList);
|
||||
mappingJacksonHttpMessageConverter.setSupportedMediaTypes(mediaTypesList);
|
||||
return mappingJacksonHttpMessageConverter;
|
||||
}
|
||||
@ -185,7 +165,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
@Value("${maxkey.server.domain:maxkey.top}")
|
||||
String domainName
|
||||
) {
|
||||
_logger.debug("DomainName " + domainName);
|
||||
_logger.debug("DomainName {}" , domainName);
|
||||
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
|
||||
cookieLocaleResolver.setCookieName("mxk_locale");
|
||||
cookieLocaleResolver.setCookieDomain(domainName);
|
||||
@ -204,8 +184,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
MarshallingHttpMessageConverter marshallingHttpMessageConverter,
|
||||
StringHttpMessageConverter stringHttpMessageConverter,
|
||||
RequestMappingHandlerAdapter requestMappingHandlerAdapter) {
|
||||
List<HttpMessageConverter<?>> httpMessageConverterList =
|
||||
new ArrayList<HttpMessageConverter<?>>();
|
||||
List<HttpMessageConverter<?>> httpMessageConverterList = new ArrayList<>();
|
||||
httpMessageConverterList.add(mappingJacksonHttpMessageConverter);
|
||||
httpMessageConverterList.add(marshallingHttpMessageConverter);
|
||||
httpMessageConverterList.add(stringHttpMessageConverter);
|
||||
@ -224,8 +203,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter,
|
||||
MarshallingHttpMessageConverter marshallingHttpMessageConverter) {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
List<HttpMessageConverter<?>> httpMessageConverterList =
|
||||
new ArrayList<HttpMessageConverter<?>>();
|
||||
List<HttpMessageConverter<?>> httpMessageConverterList = new ArrayList<>();
|
||||
httpMessageConverterList.add(mappingJacksonHttpMessageConverter);
|
||||
httpMessageConverterList.add(marshallingHttpMessageConverter);
|
||||
restTemplate.setMessageConverters(httpMessageConverterList);
|
||||
@ -279,7 +257,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
@Bean
|
||||
public FilterRegistrationBean<Filter> delegatingFilterProxy() {
|
||||
_logger.debug("delegatingFilterProxy init for /* ");
|
||||
FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<Filter>();
|
||||
FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<>();
|
||||
registrationBean.setFilter(new DelegatingFilterProxy("securityContextHolderAwareRequestFilter"));
|
||||
registrationBean.addUrlPatterns("/*");
|
||||
//registrationBean.
|
||||
@ -292,7 +270,7 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
@Bean
|
||||
public FilterRegistrationBean<Filter> webXssRequestFilter() {
|
||||
_logger.debug("webXssRequestFilter init for /* ");
|
||||
FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<Filter>(new WebXssRequestFilter());
|
||||
FilterRegistrationBean<Filter> registrationBean = new FilterRegistrationBean<>(new WebXssRequestFilter());
|
||||
registrationBean.addUrlPatterns("/*");
|
||||
registrationBean.setName("webXssRequestFilter");
|
||||
registrationBean.setOrder(3);
|
||||
@ -300,12 +278,12 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean<Filter> WebInstRequestFilter(
|
||||
public FilterRegistrationBean<Filter> webInstRequestFilter(
|
||||
InstitutionsRepository institutionsRepository,
|
||||
ApplicationConfig applicationConfig) {
|
||||
_logger.debug("WebInstRequestFilter init for /* ");
|
||||
FilterRegistrationBean<Filter> registrationBean =
|
||||
new FilterRegistrationBean<Filter>(new WebInstRequestFilter(institutionsRepository,applicationConfig));
|
||||
new FilterRegistrationBean<>(new WebInstRequestFilter(institutionsRepository,applicationConfig));
|
||||
registrationBean.addUrlPatterns("/*");
|
||||
registrationBean.setName("webInstRequestFilter");
|
||||
registrationBean.setOrder(4);
|
||||
|
||||
@ -201,10 +201,7 @@ public class ApplicationConfig {
|
||||
}
|
||||
|
||||
public boolean isProvisionSupport() {
|
||||
if(provision) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return provision;
|
||||
}
|
||||
|
||||
public String getMgtUri() {
|
||||
|
||||
@ -92,17 +92,14 @@ public class InitializeContext extends HttpServlet {
|
||||
public void listDataBaseVariables() {
|
||||
if (!applicationContext.containsBean("dataSource")) {return;}
|
||||
try {
|
||||
logger.debug(WebConstants.DELIMITER);
|
||||
logger.debug("List DatabaseMetaData Variables ");
|
||||
Connection connection =
|
||||
((javax.sql.DataSource) applicationContext.getBean("dataSource"))
|
||||
.getConnection();
|
||||
|
||||
logger.info(WebConstants.DELIMITER);
|
||||
logger.info("List DatabaseMetaData Variables ");
|
||||
Connection connection = ((javax.sql.DataSource) applicationContext.getBean("dataSource")).getConnection();
|
||||
DatabaseMetaData databaseMetaData = connection.getMetaData();
|
||||
ApplicationConfig.databaseProduct = databaseMetaData.getDatabaseProductName();
|
||||
|
||||
logger.debug("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName());
|
||||
logger.debug("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion());
|
||||
logger.info("DatabaseProductName : {}", databaseMetaData.getDatabaseProductName());
|
||||
logger.info("DatabaseProductVersion: {}" ,databaseMetaData.getDatabaseProductVersion());
|
||||
logger.trace("DatabaseMajorVersion : {}" , databaseMetaData.getDatabaseMajorVersion());
|
||||
logger.trace("DatabaseMinorVersion : {}" ,databaseMetaData.getDatabaseMinorVersion());
|
||||
logger.trace("supportsTransactions : {}" , databaseMetaData.supportsTransactions());
|
||||
@ -113,13 +110,12 @@ public class InitializeContext extends HttpServlet {
|
||||
logger.trace("JDBCMinorVersion : {}" ,databaseMetaData.getJDBCMinorVersion());
|
||||
logger.trace("DriverName : {}" ,databaseMetaData.getDriverName());
|
||||
logger.trace("DriverVersion : {}" ,databaseMetaData.getDriverVersion());
|
||||
logger.debug("");
|
||||
logger.debug("DBMS URL : {}" ,databaseMetaData.getURL());
|
||||
logger.debug("UserName : {}" ,databaseMetaData.getUserName());
|
||||
logger.debug(WebConstants.DELIMITER);
|
||||
logger.info("");
|
||||
logger.info("DBMS URL : {}" ,databaseMetaData.getURL());
|
||||
logger.info("UserName : {}" ,databaseMetaData.getUserName());
|
||||
logger.info(WebConstants.DELIMITER);
|
||||
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
logger.error("DatabaseMetaData Variables Error .",e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,14 +60,13 @@ import jakarta.servlet.http.HttpSession;
|
||||
*
|
||||
*/
|
||||
public final class WebContext {
|
||||
|
||||
final static Logger _logger = LoggerFactory.getLogger(WebContext.class);
|
||||
static final Logger _logger = LoggerFactory.getLogger(WebContext.class);
|
||||
|
||||
public static StandardEnvironment properties;
|
||||
|
||||
public static ApplicationContext applicationContext;
|
||||
|
||||
public final static String ipAddressRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
|
||||
public static final String ipAddressRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
|
||||
|
||||
public static ArrayList<String> sessionAttributeNameList = new ArrayList<String>();
|
||||
|
||||
@ -146,7 +145,11 @@ public final class WebContext {
|
||||
}else {
|
||||
return applicationContext.getBean(name,requiredType);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static String getProperty(String key) {
|
||||
return properties.getProperty(key);
|
||||
}
|
||||
|
||||
// below method is common HttpServlet method
|
||||
/**
|
||||
@ -155,13 +158,11 @@ public final class WebContext {
|
||||
* @return HttpServletRequest
|
||||
*/
|
||||
public static HttpServletRequest getRequest() {
|
||||
return ((ServletRequestAttributes)
|
||||
RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
}
|
||||
|
||||
public static HttpServletResponse getResponse() {
|
||||
return ((ServletRequestAttributes)
|
||||
RequestContextHolder.getRequestAttributes()).getResponse();
|
||||
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -205,14 +206,14 @@ public final class WebContext {
|
||||
|
||||
Enumeration<String> headerNames = request.getHeaderNames();
|
||||
while (headerNames.hasMoreElements()) {
|
||||
String key = (String) headerNames.nextElement();
|
||||
String key = headerNames.nextElement();
|
||||
String value = request.getHeader(key);
|
||||
_logger.info("Header key {} , value {}" , key, value);
|
||||
}
|
||||
|
||||
Enumeration<String> parameterNames = request.getParameterNames();
|
||||
while (parameterNames.hasMoreElements()) {
|
||||
String key = (String) parameterNames.nextElement();
|
||||
String key = parameterNames.nextElement();
|
||||
String value = request.getParameter(key);
|
||||
_logger.info("Parameter {} , value {}",key , value);
|
||||
}
|
||||
@ -233,7 +234,7 @@ public final class WebContext {
|
||||
* @return HttpSession
|
||||
*/
|
||||
public static HttpSession getSession(boolean create) {
|
||||
System.out.println("new Session created");
|
||||
_logger.info("new Session created");
|
||||
return getRequest().getSession(create);
|
||||
}
|
||||
|
||||
@ -314,7 +315,7 @@ public final class WebContext {
|
||||
}
|
||||
|
||||
public static Map<String, String> getRequestParameterMap(HttpServletRequest request) {
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Map<String, String> map = new HashMap<>();
|
||||
Map<String, String[]> parameters = request.getParameterMap();
|
||||
for (String key : parameters.keySet()) {
|
||||
String[] values = parameters.get(key);
|
||||
@ -333,8 +334,7 @@ public final class WebContext {
|
||||
public static Cookie getCookie(HttpServletRequest request, String name) {
|
||||
Map<String, Cookie> cookieMap = getCookieAll(request);
|
||||
if (cookieMap.containsKey(name)) {
|
||||
Cookie cookie = (Cookie) cookieMap.get(name);
|
||||
return cookie;
|
||||
return cookieMap.get(name);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
@ -347,7 +347,7 @@ public final class WebContext {
|
||||
* @return Map
|
||||
*/
|
||||
private static Map<String, Cookie> getCookieAll(HttpServletRequest request) {
|
||||
Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
|
||||
Map<String, Cookie> cookieMap = new HashMap<>();
|
||||
Cookie[] cookies = request.getCookies();
|
||||
if (null != cookies) {
|
||||
for (Cookie cookie : cookies) {
|
||||
@ -536,7 +536,7 @@ public final class WebContext {
|
||||
version.append("-----------------------------------------------------------");
|
||||
version.append("+ MaxKey Community Edition ");
|
||||
version.append("+ Single Sign On ( SSO ) ");
|
||||
version.append("+ Version {}".formatted(
|
||||
version.append("+ Version %s".formatted(
|
||||
WebContext.properties.getProperty("application.formatted-version")));
|
||||
version.append("+");
|
||||
version.append("+ {}Copyright 2018 - {} https://www.maxkey.top/",
|
||||
|
||||
@ -79,7 +79,7 @@ public class GroupsService extends JpaService<Groups> implements Serializable {
|
||||
return this.getMapper().queryByUserId(userId);
|
||||
}
|
||||
|
||||
public void refreshDynamicRoles(Groups dynamicGroup){
|
||||
public void refreshDynamicGroups(Groups dynamicGroup){
|
||||
if(dynamicGroup.getCategory().equals(Roles.Category.DYNAMIC)) {
|
||||
boolean isDynamicTimeSupport = false;
|
||||
boolean isBetweenEffectiveTime = false;
|
||||
@ -90,9 +90,10 @@ public class GroupsService extends JpaService<Groups> implements Serializable {
|
||||
LocalTime resumeTime = LocalTime.parse(dynamicGroup.getResumeTime());
|
||||
LocalTime suspendTime = LocalTime.parse(dynamicGroup.getSuspendTime());
|
||||
|
||||
_logger.info("currentTime: " + currentTime
|
||||
+ " , resumeTime : " + resumeTime
|
||||
+ " , suspendTime: " + suspendTime);
|
||||
_logger.info("currentTime: {} , resumeTime : {} , suspendTime: {}"
|
||||
, currentTime
|
||||
, resumeTime
|
||||
, suspendTime);
|
||||
isDynamicTimeSupport = true;
|
||||
|
||||
if(resumeTime.isBefore(currentTime) && currentTime.isBefore(suspendTime)) {
|
||||
@ -152,7 +153,7 @@ public class GroupsService extends JpaService<Groups> implements Serializable {
|
||||
List<Groups> groupsList = queryDynamicGroups(group);
|
||||
for(Groups g : groupsList) {
|
||||
_logger.debug("role {}" , g);
|
||||
refreshDynamicRoles(g);
|
||||
refreshDynamicGroups(g);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,5 +26,5 @@ export const CONSTS = {
|
||||
REDIRECT_URI: 'redirect_uri',
|
||||
REMEMBER: 'remember_me',
|
||||
TOKEN: '_token',
|
||||
VERSION: 'v4.0.1 GA'
|
||||
VERSION: 'v4.0.2 GA'
|
||||
};
|
||||
|
||||
@ -106,6 +106,7 @@
|
||||
<th nzAlign="center">{{ 'mxk.history.login.message' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.loginType' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.sourceIp' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.location' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.browser' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.platform' | i18n }}</th>
|
||||
<th nzAlign="center">{{ 'mxk.history.login.loginTime' | i18n }}</th>
|
||||
@ -122,6 +123,7 @@
|
||||
<td nzAlign="left">{{ data.provider }}</td>
|
||||
<td nzAlign="left">{{ data.loginType }}</td>
|
||||
<td nzAlign="left">{{ data.sourceIp }}</td>
|
||||
<td nzAlign="left">{{ data.location }}</td>
|
||||
<td nzAlign="left">{{ data.browser }}</td>
|
||||
<td nzAlign="left">{{ data.platform }}</td>
|
||||
<td nzAlign="left">{{ data.loginTime }}</td>
|
||||
|
||||
@ -19,5 +19,5 @@ export const CONSTS = {
|
||||
INST: 'inst',
|
||||
REDIRECT_URI: 'redirect_uri',
|
||||
REMEMBER: 'remember',
|
||||
VERSION: 'v4.0.1 GA'
|
||||
VERSION: 'v4.0.2 GA'
|
||||
};
|
||||
|
||||
@ -649,6 +649,7 @@
|
||||
"login.message": "message",
|
||||
"login.loginType": "loginType",
|
||||
"login.sourceIp": "sourceIp",
|
||||
"login.location": "location",
|
||||
"login.browser": "browser",
|
||||
"login.loginTime": "loginTime",
|
||||
"login.logoutTime": "logoutTime",
|
||||
|
||||
@ -647,6 +647,7 @@
|
||||
"login.message": "状态",
|
||||
"login.loginType": "登录方式",
|
||||
"login.sourceIp": "访问地址",
|
||||
"login.location": "归属地",
|
||||
"login.browser": "浏览器",
|
||||
"login.loginTime": "登录时间",
|
||||
"login.logoutTime": "退出时间",
|
||||
|
||||
@ -648,6 +648,7 @@
|
||||
"login.message": "狀態",
|
||||
"login.loginType": "登錄方式",
|
||||
"login.sourceIp": "訪問地址",
|
||||
"login.location": "歸屬地",
|
||||
"login.browser": "瀏覽器",
|
||||
"login.loginTime": "登錄時間",
|
||||
"login.logoutTime": "退出時間",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
#端口号
|
||||
application:
|
||||
name: maxkey-gateway-server
|
||||
formatted-version: v4.0.1 GA
|
||||
formatted-version: v4.0.2 GA
|
||||
server:
|
||||
port: 9000
|
||||
spring:
|
||||
|
||||
@ -58,7 +58,7 @@ public class MaxKeyApplication extends SpringBootServletInitializer {
|
||||
logger.error("ServletException", e);
|
||||
}
|
||||
logger.info("MaxKey at {}" , new DateTime());
|
||||
logger.info("MaxKey Server Port {}" , WebContext.properties.getProperty("server.port"));
|
||||
logger.info("MaxKey Server Port {}" , WebContext.getProperty("server.port"));
|
||||
logger.info("MaxKey started.");
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#MaxKey Title and Version #
|
||||
############################################################################
|
||||
application.title =MaxKey
|
||||
application.formatted-version =v4.0.1 GA
|
||||
application.formatted-version =v4.0.2 GA
|
||||
#for dynamic service discovery
|
||||
spring.application.name =maxkey
|
||||
############################################################################
|
||||
|
||||
@ -66,8 +66,7 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer {
|
||||
logger.info("Start MaxKeyMgt Application ...");
|
||||
ProductEnvironment.listEnvVars();
|
||||
|
||||
ConfigurableApplicationContext applicationContext =
|
||||
SpringApplication.run(MaxKeyMgtApplication.class, args);
|
||||
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyMgtApplication.class, args);
|
||||
InitializeContext initWebContext = new InitializeContext(applicationContext);
|
||||
|
||||
try {
|
||||
@ -76,7 +75,7 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer {
|
||||
logger.error("Exception ",e);
|
||||
}
|
||||
logger.info("MaxKeyMgt at {}" , new DateTime());
|
||||
logger.info("MaxKeyMgt Server Port {}" , WebContext.properties.getProperty("server.port"));
|
||||
logger.info("MaxKeyMgt Server Port {}" , WebContext.getProperty("server.port"));
|
||||
logger.info("MaxKeyMgt started.");
|
||||
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ public class MaxKeyMgtListenerConfig implements InitializingBean {
|
||||
ConnectorsService connectorsService,
|
||||
JdbcTemplate jdbcTemplate,
|
||||
ApplicationConfig applicationConfig
|
||||
) throws SchedulerException {
|
||||
) {
|
||||
if(applicationConfig.isProvisionSupport()) {
|
||||
ProvisioningRunner runner = new ProvisioningRunner(connectorsService,jdbcTemplate);
|
||||
ProvisioningRunnerThread runnerThread = new ProvisioningRunnerThread(runner);
|
||||
|
||||
@ -94,7 +94,7 @@ public class GroupsController {
|
||||
group.setGroupCode(group.getId());
|
||||
}
|
||||
if (service.insert(group)) {
|
||||
service.refreshDynamicRoles(group);
|
||||
service.refreshDynamicGroups(group);
|
||||
systemLog.insert(
|
||||
ConstsEntryType.ROLE,
|
||||
group,
|
||||
@ -116,7 +116,7 @@ public class GroupsController {
|
||||
}
|
||||
group.setInstId(currentUser.getInstId());
|
||||
if (service.update(group)) {
|
||||
service.refreshDynamicRoles(group);
|
||||
service.refreshDynamicGroups(group);
|
||||
systemLog.insert(
|
||||
ConstsEntryType.ROLE,
|
||||
group,
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#MaxKey Title and Version #
|
||||
############################################################################
|
||||
application.title =MaxKey-Mgt
|
||||
application.formatted-version =v4.0.1 GA
|
||||
application.formatted-version =v4.0.2 GA
|
||||
#for dynamic service discovery
|
||||
spring.application.name =maxkey-mgt
|
||||
############################################################################
|
||||
|
||||
@ -62,8 +62,7 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer {
|
||||
logger.info("Start MaxKey OpenApi Application ...");
|
||||
ProductEnvironment.listEnvVars();
|
||||
|
||||
ConfigurableApplicationContext applicationContext =
|
||||
SpringApplication.run(MaxKeyOpenApiApplication.class, args);
|
||||
ConfigurableApplicationContext applicationContext = SpringApplication.run(MaxKeyOpenApiApplication.class, args);
|
||||
InitializeContext initWebContext = new InitializeContext(applicationContext);
|
||||
|
||||
try {
|
||||
@ -72,7 +71,7 @@ public class MaxKeyOpenApiApplication extends SpringBootServletInitializer {
|
||||
logger.error("Exception ",e);
|
||||
}
|
||||
logger.info("MaxKey OpenApi at {}" , new DateTime());
|
||||
logger.info("MaxKey OpenApi Server Port {}" , WebContext.properties.getProperty("server.port"));
|
||||
logger.info("MaxKey OpenApi Server Port {}" , WebContext.getProperty("server.port"));
|
||||
logger.info("MaxKey OpenApi started.");
|
||||
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
#MaxKey Title and Version #
|
||||
############################################################################
|
||||
application.title =MaxKey-OpenApi
|
||||
application.formatted-version =v4.0.1 GA
|
||||
application.formatted-version =v4.0.2 GA
|
||||
#for dynamic service discovery
|
||||
spring.application.name =maxkey-openapi
|
||||
############################################################################
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user