提交 a2740e15 编写于 作者: M MaxKey

authn

上级 476ebfdc
...@@ -118,7 +118,7 @@ public abstract class AbstractAuthenticationProvider { ...@@ -118,7 +118,7 @@ public abstract class AbstractAuthenticationProvider {
changeSession(authentication); changeSession(authentication);
authenticationRealm.insertLoginHistory( WebContext.getUserInfo(), authenticationRealm.insertLoginHistory(((SigninPrincipal) authentication.getPrincipal()).getUserInfo(),
ConstsLoginType.LOCAL, ConstsLoginType.LOCAL,
"", "",
"xe00000004", "xe00000004",
...@@ -141,10 +141,6 @@ public abstract class AbstractAuthenticationProvider { ...@@ -141,10 +141,6 @@ public abstract class AbstractAuthenticationProvider {
for(String attributeName : WebContext.sessionAttributeNameList) { for(String attributeName : WebContext.sessionAttributeNameList) {
WebContext.setAttribute(attributeName, sessionAttributeMap.get(attributeName)); WebContext.setAttribute(attributeName, sessionAttributeMap.get(attributeName));
} }
_logger.debug("Login Success Session {} Mapping to user Session {}.",
WebContext.getSession().getId(),
WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID));
} }
......
...@@ -189,6 +189,7 @@ public class RealmAuthenticationProvider extends AbstractAuthenticationProvider ...@@ -189,6 +189,7 @@ public class RealmAuthenticationProvider extends AbstractAuthenticationProvider
this.applicationConfig.getBaseDomainName(), this.applicationConfig.getBaseDomainName(),
WebConstants.ONLINE_TICKET_NAME, WebConstants.ONLINE_TICKET_NAME,
onlineTickitId); onlineTickitId);
userInfo.setOnlineTicket(currentUserSessionId);
SigninPrincipal signinPrincipal = new SigninPrincipal(userInfo); SigninPrincipal signinPrincipal = new SigninPrincipal(userInfo);
//set OnlineTicket //set OnlineTicket
...@@ -218,20 +219,14 @@ public class RealmAuthenticationProvider extends AbstractAuthenticationProvider ...@@ -218,20 +219,14 @@ public class RealmAuthenticationProvider extends AbstractAuthenticationProvider
onlineTicket.setAuthentication(authenticationToken); onlineTicket.setAuthentication(authenticationToken);
//store onlineTicket
this.onlineTicketServices.store(onlineTickitId, onlineTicket); this.onlineTicketServices.store(onlineTickitId, onlineTicket);
/* /*
* put userInfo to current session context * put Authentication to current session context
*/ */
WebContext.setUserInfo(userInfo);
WebContext.setAuthentication(authenticationToken); WebContext.setAuthentication(authenticationToken);
WebContext.setAttribute(WebConstants.CURRENT_USER_SESSION_ID, currentUserSessionId);
if(!WebContext.getInst(WebContext.getRequest()).equalsIgnoreCase(userInfo.getInstId())){
//TODO :
}
return authenticationToken; return authenticationToken;
} }
......
package org.maxkey.authn; package org.maxkey.authn.annotation;
import java.lang.annotation.Documented; import java.lang.annotation.Documented;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
......
...@@ -22,6 +22,7 @@ import java.util.Date; ...@@ -22,6 +22,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.maxkey.authn.SigninPrincipal;
import org.maxkey.authn.realm.ldap.LdapAuthenticationRealmService; import org.maxkey.authn.realm.ldap.LdapAuthenticationRealmService;
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
import org.maxkey.entity.Groups; import org.maxkey.entity.Groups;
...@@ -38,6 +39,7 @@ import org.maxkey.web.ipregion.IpRegionFactory; ...@@ -38,6 +39,7 @@ import org.maxkey.web.ipregion.IpRegionFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
/** /**
...@@ -135,9 +137,10 @@ public abstract class AbstractAuthenticationRealm { ...@@ -135,9 +137,10 @@ public abstract class AbstractAuthenticationRealm {
HistoryLogin historyLogin = new HistoryLogin(); HistoryLogin historyLogin = new HistoryLogin();
historyLogin.setSessionId(WebContext.genId()); historyLogin.setSessionId(WebContext.genId());
historyLogin.setSessionStatus(7); historyLogin.setSessionStatus(7);
if(WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID) != null) { Authentication authentication = (Authentication ) WebContext.getAttribute(WebConstants.AUTHENTICATION);
historyLogin.setSessionStatus(1); if(authentication.getPrincipal() instanceof SigninPrincipal) {
historyLogin.setSessionId(WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID).toString()); historyLogin.setSessionStatus(1);
historyLogin.setSessionId(userInfo.getOnlineTicket());
} }
_logger.debug("user session id is {} . ",historyLogin.getSessionId()); _logger.debug("user session id is {} . ",historyLogin.getSessionId());
...@@ -174,24 +177,23 @@ public abstract class AbstractAuthenticationRealm { ...@@ -174,24 +177,23 @@ public abstract class AbstractAuthenticationRealm {
* @return * @return
*/ */
public boolean logout(HttpServletResponse response) { public boolean logout(HttpServletResponse response) {
if (isAuthenticated()) { Authentication authentication = (Authentication ) WebContext.getAttribute(WebConstants.AUTHENTICATION);
Object sessionIdAttribute = WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID);
UserInfo userInfo = WebContext.getUserInfo(); if(authentication != null && authentication.getPrincipal() instanceof SigninPrincipal) {
SigninPrincipal signinPrincipal = ((SigninPrincipal) authentication.getPrincipal());
UserInfo userInfo = signinPrincipal.getUserInfo();
userInfo.setLastLogoffTime(DateUtils.formatDateTime(new Date())); userInfo.setLastLogoffTime(DateUtils.formatDateTime(new Date()));
if (sessionIdAttribute != null) { remeberMeService.removeRemeberMe(response);
remeberMeService.removeRemeberMe(response);
loginHistoryRepository.logoff(userInfo.getLastLogoffTime(), signinPrincipal.getOnlineTicket().getTicketId());
loginHistoryRepository.logoff(userInfo.getLastLogoffTime(), sessionIdAttribute.toString());
}
loginRepository.updateLastLogoff(userInfo); loginRepository.updateLastLogoff(userInfo);
_logger.debug("Session " + WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID) + ", user " _logger.debug("Session " + signinPrincipal.getOnlineTicket().getTicketId() + ", user "
+ userInfo.getUsername() + " Logout, datetime " + userInfo.getLastLogoffTime() + " ."); + userInfo.getUsername() + " Logout, datetime " + userInfo.getLastLogoffTime() + " .");
//remove login user session id }
WebContext.removeAttribute(WebConstants.CURRENT_USER_SESSION_ID);
}
return true; return true;
} }
......
package org.maxkey.authn; package org.maxkey.authn.web;
import org.maxkey.authn.SigninPrincipal;
import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
import org.maxkey.web.WebConstants; import org.maxkey.web.WebConstants;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.maxkey.web; package org.maxkey.authn.web;
import java.util.Date; import java.util.Date;
...@@ -23,12 +23,16 @@ import javax.servlet.http.HttpSessionEvent; ...@@ -23,12 +23,16 @@ import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener; import javax.servlet.http.HttpSessionListener;
import org.apache.mybatis.jpa.util.WebContext; import org.apache.mybatis.jpa.util.WebContext;
import org.maxkey.authn.SigninPrincipal;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.repository.LoginHistoryRepository; import org.maxkey.persistence.repository.LoginHistoryRepository;
import org.maxkey.persistence.repository.LoginRepository; import org.maxkey.persistence.repository.LoginRepository;
import org.maxkey.util.DateUtils; import org.maxkey.util.DateUtils;
import org.maxkey.web.WebConstants;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
@WebListener @WebListener
public class SessionListenerAdapter implements HttpSessionListener { public class SessionListenerAdapter implements HttpSessionListener {
...@@ -57,6 +61,8 @@ public class SessionListenerAdapter implements HttpSessionListener { ...@@ -57,6 +61,8 @@ public class SessionListenerAdapter implements HttpSessionListener {
loginHistoryRepository = (LoginHistoryRepository)WebContext.getBean("loginHistoryRepository"); loginHistoryRepository = (LoginHistoryRepository)WebContext.getBean("loginHistoryRepository");
_logger.debug("SessionListenerAdapter function inited . "); _logger.debug("SessionListenerAdapter function inited . ");
} }
_logger.info("SecurityContextHolder StrategyName " + SessionSecurityContextHolderStrategy.class.getCanonicalName());
SecurityContextHolder.setStrategyName(SessionSecurityContextHolderStrategy.class.getCanonicalName());
} }
/** /**
* session Created * session Created
...@@ -72,21 +78,22 @@ public class SessionListenerAdapter implements HttpSessionListener { ...@@ -72,21 +78,22 @@ public class SessionListenerAdapter implements HttpSessionListener {
@Override @Override
public void sessionDestroyed(HttpSessionEvent sessionEvent) { public void sessionDestroyed(HttpSessionEvent sessionEvent) {
HttpSession session = sessionEvent.getSession(); HttpSession session = sessionEvent.getSession();
Object sessionIdAttribute = session.getAttribute(WebConstants.CURRENT_USER_SESSION_ID); Authentication authentication = (Authentication ) session.getAttribute(WebConstants.AUTHENTICATION);
_logger.trace("session Id : " + session.getId()); if(authentication != null && authentication.getPrincipal() instanceof SigninPrincipal) {
if(sessionIdAttribute != null) { SigninPrincipal signinPrincipal = ((SigninPrincipal) authentication.getPrincipal());
init(); _logger.trace("session Id : " + session.getId());
UserInfo userInfo = (UserInfo)session.getAttribute(WebConstants.CURRENT_USER); init();
userInfo.setLastLogoffTime(DateUtils.formatDateTime(new Date())); UserInfo userInfo = signinPrincipal.getUserInfo();
loginRepository.updateLastLogoff(userInfo); userInfo.setLastLogoffTime(DateUtils.formatDateTime(new Date()));
loginHistoryRepository.logoff(userInfo.getLastLogoffTime(), sessionIdAttribute.toString()); loginRepository.updateLastLogoff(userInfo);
loginHistoryRepository.logoff(userInfo.getLastLogoffTime(), userInfo.getOnlineTicket());
_logger.debug(
"session {} Destroyed as {} userId : {} , username : {}" , _logger.debug(
sessionIdAttribute, "session {} Destroyed as {} userId : {} , username : {}" ,
userInfo.getLastLogoffTime(), userInfo.getOnlineTicket(),
userInfo.getId(), userInfo.getLastLogoffTime(),
userInfo.getUsername()); userInfo.getId(),
userInfo.getUsername());
} }
} }
......
...@@ -15,8 +15,10 @@ ...@@ -15,8 +15,10 @@
*/ */
package org.maxkey.web; package org.maxkey.authn.web;
import org.maxkey.web.WebConstants;
import org.maxkey.web.WebContext;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.authn.interceptor; package org.maxkey.authn.web.interceptor;
import javax.servlet.RequestDispatcher; import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
......
...@@ -26,6 +26,7 @@ import org.maxkey.authn.online.OnlineTicketServiceFactory; ...@@ -26,6 +26,7 @@ import org.maxkey.authn.online.OnlineTicketServiceFactory;
import org.maxkey.authn.realm.AbstractAuthenticationRealm; import org.maxkey.authn.realm.AbstractAuthenticationRealm;
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
import org.maxkey.authn.support.rememberme.RemeberMeServiceFactory; import org.maxkey.authn.support.rememberme.RemeberMeServiceFactory;
import org.maxkey.authn.web.SessionListenerAdapter;
import org.maxkey.configuration.ApplicationConfig; import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.configuration.AuthJwkConfig; import org.maxkey.configuration.AuthJwkConfig;
import org.maxkey.constants.ConstsPersistence; import org.maxkey.constants.ConstsPersistence;
...@@ -151,6 +152,16 @@ public class AuthenticationAutoConfiguration implements InitializingBean { ...@@ -151,6 +152,16 @@ public class AuthenticationAutoConfiguration implements InitializingBean {
return onlineTicketService; return onlineTicketService;
} }
@Bean(name = "sessionListenerAdapter")
public SessionListenerAdapter sessionListenerAdapter(
LoginRepository loginRepository,
LoginHistoryRepository loginHistoryRepository
) {
SessionListenerAdapter sessionListenerAdapter =
new SessionListenerAdapter(loginRepository,loginHistoryRepository);
return sessionListenerAdapter;
}
@Override @Override
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
......
...@@ -28,7 +28,6 @@ import org.maxkey.constants.ConstsTimeInterval; ...@@ -28,7 +28,6 @@ import org.maxkey.constants.ConstsTimeInterval;
import org.maxkey.persistence.repository.InstitutionsRepository; import org.maxkey.persistence.repository.InstitutionsRepository;
import org.maxkey.persistence.repository.LoginHistoryRepository; import org.maxkey.persistence.repository.LoginHistoryRepository;
import org.maxkey.persistence.repository.LoginRepository; import org.maxkey.persistence.repository.LoginRepository;
import org.maxkey.web.SessionListenerAdapter;
import org.maxkey.web.WebXssRequestFilter; import org.maxkey.web.WebXssRequestFilter;
import org.maxkey.web.WebInstRequestFilter; import org.maxkey.web.WebInstRequestFilter;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -314,16 +313,6 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer ...@@ -314,16 +313,6 @@ public class MvcAutoConfiguration implements InitializingBean , WebMvcConfigurer
return registrationBean; return registrationBean;
} }
@Bean(name = "sessionListenerAdapter")
public SessionListenerAdapter sessionListenerAdapter(
LoginRepository loginRepository,
LoginHistoryRepository loginHistoryRepository
) {
SessionListenerAdapter sessionListenerAdapter =
new SessionListenerAdapter(loginRepository,loginHistoryRepository);
return sessionListenerAdapter;
}
@Override @Override
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
......
...@@ -48,6 +48,8 @@ public class UserInfo extends JpaBaseEntity { ...@@ -48,6 +48,8 @@ public class UserInfo extends JpaBaseEntity {
public static final String DEFAULT_PASSWORD_SUFFIX = "MaxKey@888"; public static final String DEFAULT_PASSWORD_SUFFIX = "MaxKey@888";
String onlineTicket;
// //
@Id @Id
@Column @Column
...@@ -385,7 +387,15 @@ public class UserInfo extends JpaBaseEntity { ...@@ -385,7 +387,15 @@ public class UserInfo extends JpaBaseEntity {
this.id = id; this.id = id;
} }
/** public String getOnlineTicket() {
return onlineTicket;
}
public void setOnlineTicket(String onlineTicket) {
this.onlineTicket = onlineTicket;
}
/**
* @param username * @param username
*/ */
public UserInfo(String username) { public UserInfo(String username) {
......
...@@ -40,7 +40,6 @@ import org.springframework.context.ConfigurableApplicationContext; ...@@ -40,7 +40,6 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.core.env.PropertySource; import org.springframework.core.env.PropertySource;
import org.springframework.core.env.StandardEnvironment; import org.springframework.core.env.StandardEnvironment;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.context.support.WebApplicationContextUtils; import org.springframework.web.context.support.WebApplicationContextUtils;
/** /**
...@@ -63,9 +62,6 @@ public class InitializeContext extends HttpServlet { ...@@ -63,9 +62,6 @@ public class InitializeContext extends HttpServlet {
public void init(ServletConfig config) throws ServletException { public void init(ServletConfig config) throws ServletException {
super.init(config); super.init(config);
_logger.info("SecurityContextHolder StrategyName " + SessionSecurityContextHolderStrategy.class.getCanonicalName());
SecurityContextHolder.setStrategyName(SessionSecurityContextHolderStrategy.class.getCanonicalName());
WebContext.applicationContext = applicationContext; WebContext.applicationContext = applicationContext;
org.apache.mybatis.jpa.util.WebContext.applicationContext = applicationContext; org.apache.mybatis.jpa.util.WebContext.applicationContext = applicationContext;
......
...@@ -31,8 +31,6 @@ public class WebConstants { ...@@ -31,8 +31,6 @@ public class WebConstants {
public static final String CURRENT_USER = "current_user"; public static final String CURRENT_USER = "current_user";
public static final String CURRENT_USER_SESSION_ID = "current_user_session_id";
public static final String CURRENT_COMPANY = "current_user_company"; public static final String CURRENT_COMPANY = "current_user_company";
public static final String CURRENT_DEPARTMENT = "current_user_department"; public static final String CURRENT_DEPARTMENT = "current_user_department";
......
...@@ -84,7 +84,6 @@ public final class WebContext { ...@@ -84,7 +84,6 @@ public final class WebContext {
sessionAttributeNameList.add(WebConstants.CURRENT_USER); sessionAttributeNameList.add(WebConstants.CURRENT_USER);
sessionAttributeNameList.add(WebConstants.CURRENT_USER_PASSWORD_SET_TYPE); sessionAttributeNameList.add(WebConstants.CURRENT_USER_PASSWORD_SET_TYPE);
sessionAttributeNameList.add(WebConstants.CURRENT_USER_SESSION_ID);
sessionAttributeNameList.add(WebConstants.CURRENT_INST); sessionAttributeNameList.add(WebConstants.CURRENT_INST);
...@@ -100,7 +99,6 @@ public final class WebContext { ...@@ -100,7 +99,6 @@ public final class WebContext {
logoutAttributeNameList.add(WebConstants.CURRENT_USER); logoutAttributeNameList.add(WebConstants.CURRENT_USER);
logoutAttributeNameList.add(WebConstants.CURRENT_USER_PASSWORD_SET_TYPE); logoutAttributeNameList.add(WebConstants.CURRENT_USER_PASSWORD_SET_TYPE);
logoutAttributeNameList.add(WebConstants.CURRENT_USER_SESSION_ID);
logoutAttributeNameList.add(WebConstants.FIRST_SAVED_REQUEST_PARAMETER); logoutAttributeNameList.add(WebConstants.FIRST_SAVED_REQUEST_PARAMETER);
......
...@@ -80,7 +80,8 @@ public class GroupsService extends JpaBaseService<Groups> implements Serializab ...@@ -80,7 +80,8 @@ public class GroupsService extends JpaBaseService<Groups> implements Serializab
boolean isDynamicTimeSupport = false; boolean isDynamicTimeSupport = false;
boolean isBetweenEffectiveTime = false; boolean isBetweenEffectiveTime = false;
if(StringUtils.isNotBlank(dynamicGroup.getResumeTime()) if(StringUtils.isNotBlank(dynamicGroup.getResumeTime())
&&StringUtils.isNotBlank(dynamicGroup.getSuspendTime())) { &&StringUtils.isNotBlank(dynamicGroup.getSuspendTime())
&&!dynamicGroup.getSuspendTime().equals("00:00")) {
LocalTime currentTime = LocalDateTime.now().toLocalTime(); LocalTime currentTime = LocalDateTime.now().toLocalTime();
LocalTime resumeTime = LocalTime.parse(dynamicGroup.getResumeTime()); LocalTime resumeTime = LocalTime.parse(dynamicGroup.getResumeTime());
LocalTime suspendTime = LocalTime.parse(dynamicGroup.getSuspendTime()); LocalTime suspendTime = LocalTime.parse(dynamicGroup.getSuspendTime());
...@@ -100,16 +101,17 @@ public class GroupsService extends JpaBaseService<Groups> implements Serializab ...@@ -100,16 +101,17 @@ public class GroupsService extends JpaBaseService<Groups> implements Serializab
dynamicGroup.setOrgIdsList("'"+dynamicGroup.getOrgIdsList().replace(",", "','")+"'"); dynamicGroup.setOrgIdsList("'"+dynamicGroup.getOrgIdsList().replace(",", "','")+"'");
} }
String filters = dynamicGroup.getFilters(); String filters = dynamicGroup.getFilters();
if(StringUtils.filtersSQLInjection(filters.toLowerCase())) { if(StringUtils.isNotBlank(filters)) {
_logger.info("filters include SQL Injection Attack Risk."); if(StringUtils.filtersSQLInjection(filters.toLowerCase())) {
return; _logger.info("filters include SQL Injection Attack Risk.");
return;
}
filters = filters.replace("&", " AND ");
filters = filters.replace("|", " OR ");
dynamicGroup.setFilters(filters);
} }
filters = filters.replace("&", " AND ");
filters = filters.replace("|", " OR ");
dynamicGroup.setFilters(filters);
if(isDynamicTimeSupport) { if(isDynamicTimeSupport) {
if(isBetweenEffectiveTime) { if(isBetweenEffectiveTime) {
groupMemberService.deleteDynamicGroupMember(dynamicGroup); groupMemberService.deleteDynamicGroupMember(dynamicGroup);
......
...@@ -206,13 +206,15 @@ ...@@ -206,13 +206,15 @@
id, id,
groupid, groupid,
memberid, memberid,
type type,
instid
) )
select select
concat('${id}',u.id) id, concat('${id}',u.id) id,
'${id}' groupid, '${id}' groupid,
u.id memberid, u.id memberid,
'USER-DYNAMIC' TYPE 'USER-DYNAMIC' type,
'${instId}' instid
from mxk_userinfo u from mxk_userinfo u
where not exists( where not exists(
select 1 from mxk_group_member gm select 1 from mxk_group_member gm
......
...@@ -29,7 +29,6 @@ import org.maxkey.persistence.repository.LoginRepository; ...@@ -29,7 +29,6 @@ import org.maxkey.persistence.repository.LoginRepository;
import org.maxkey.persistence.service.HistoryLoginService; import org.maxkey.persistence.service.HistoryLoginService;
import org.maxkey.util.DateUtils; import org.maxkey.util.DateUtils;
import org.maxkey.util.StringUtils; import org.maxkey.util.StringUtils;
import org.maxkey.web.WebConstants;
import org.maxkey.web.WebContext; import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message; import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType; import org.maxkey.web.message.MessageType;
...@@ -97,9 +96,7 @@ public class LoginSessionController { ...@@ -97,9 +96,7 @@ public class LoginSessionController {
boolean isTerminated = false; boolean isTerminated = false;
try { try {
String currentUserSessionId = ""; String currentUserSessionId = "";
if(WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID) != null) {
currentUserSessionId = WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID).toString();
}
for(String sessionId : StringUtils.string2List(ids, ",")) { for(String sessionId : StringUtils.string2List(ids, ",")) {
_logger.trace("terminate session Id {} ",sessionId); _logger.trace("terminate session Id {} ",sessionId);
if(currentUserSessionId.contains(sessionId)) { if(currentUserSessionId.contains(sessionId)) {
......
...@@ -83,7 +83,7 @@ public class HistoryLoginAppAdapter implements AsyncHandlerInterceptor { ...@@ -83,7 +83,7 @@ public class HistoryLoginAppAdapter implements AsyncHandlerInterceptor {
_logger.debug("postHandle"); _logger.debug("postHandle");
final Apps app = (Apps)WebContext.getAttribute(WebConstants.AUTHORIZE_SIGN_ON_APP); final Apps app = (Apps)WebContext.getAttribute(WebConstants.AUTHORIZE_SIGN_ON_APP);
String sessionId = (String)WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID); String sessionId = "";//(String)WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID);
final UserInfo userInfo = WebContext.getUserInfo(); final UserInfo userInfo = WebContext.getUserInfo();
_logger.debug("sessionId : " + sessionId + " ,appId : " + app.getId()); _logger.debug("sessionId : " + sessionId + " ,appId : " + app.getId());
HistoryLoginApps historyLoginApps = new HistoryLoginApps(); HistoryLoginApps historyLoginApps = new HistoryLoginApps();
......
...@@ -20,12 +20,12 @@ package org.maxkey; ...@@ -20,12 +20,12 @@ package org.maxkey;
import java.util.List; import java.util.List;
import org.maxkey.authn.AbstractAuthenticationProvider; import org.maxkey.authn.AbstractAuthenticationProvider;
import org.maxkey.authn.CurrentUserMethodArgumentResolver;
import org.maxkey.authn.interceptor.PermissionAdapter;
import org.maxkey.authn.support.jwt.HttpJwtEntryPoint; import org.maxkey.authn.support.jwt.HttpJwtEntryPoint;
import org.maxkey.authn.support.jwt.JwtLoginService; import org.maxkey.authn.support.jwt.JwtLoginService;
import org.maxkey.authn.support.rememberme.AbstractRemeberMeService; import org.maxkey.authn.support.rememberme.AbstractRemeberMeService;
import org.maxkey.authn.support.rememberme.HttpRemeberMeEntryPoint; import org.maxkey.authn.support.rememberme.HttpRemeberMeEntryPoint;
import org.maxkey.authn.web.CurrentUserMethodArgumentResolver;
import org.maxkey.authn.web.interceptor.PermissionAdapter;
import org.maxkey.configuration.ApplicationConfig; import org.maxkey.configuration.ApplicationConfig;
import org.maxkey.web.interceptor.HistoryLogsAdapter; import org.maxkey.web.interceptor.HistoryLogsAdapter;
import org.maxkey.web.interceptor.RestApiPermissionAdapter; import org.maxkey.web.interceptor.RestApiPermissionAdapter;
...@@ -126,13 +126,19 @@ public class MaxKeyMgtMvcConfig implements WebMvcConfigurer { ...@@ -126,13 +126,19 @@ public class MaxKeyMgtMvcConfig implements WebMvcConfigurer {
.addPathPatterns("/roles/**") .addPathPatterns("/roles/**")
.addPathPatterns("/rolemembers/**") .addPathPatterns("/rolemembers/**")
.addPathPatterns("/resources/**") .addPathPatterns("/resources/**")
.addPathPatterns("/access/**")
.addPathPatterns("/access/**/**")
.addPathPatterns("/permissions/**") .addPathPatterns("/permissions/**")
.addPathPatterns("/permissions/**/**")
.addPathPatterns("/config/**") .addPathPatterns("/config/**")
.addPathPatterns("/config/**/**") .addPathPatterns("/config/**/**")
.addPathPatterns("/logs/**")
.addPathPatterns("/historys/**") .addPathPatterns("/historys/**")
.addPathPatterns("/historys/**/**") .addPathPatterns("/historys/**/**")
.addPathPatterns("/session/**")
.addPathPatterns("/socialsprovider/**") .addPathPatterns("/socialsprovider/**")
.addPathPatterns("/accountsstrategy/**") .addPathPatterns("/accountsstrategy/**")
.addPathPatterns("/institutions/**") .addPathPatterns("/institutions/**")
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.access.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
...@@ -39,7 +39,7 @@ import org.springframework.web.servlet.ModelAndView; ...@@ -39,7 +39,7 @@ import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/groupMember"}) @RequestMapping(value={"/access/groupmembers"})
public class GroupMemberController { public class GroupMemberController {
final static Logger _logger = LoggerFactory.getLogger(GroupMemberController.class); final static Logger _logger = LoggerFactory.getLogger(GroupMemberController.class);
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.access.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
...@@ -38,7 +38,7 @@ import org.springframework.web.servlet.ModelAndView; ...@@ -38,7 +38,7 @@ import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/groupPrivileges"}) @RequestMapping(value={"/access/privileges"})
public class GroupPrivilegesController { public class GroupPrivilegesController {
final static Logger _logger = LoggerFactory.getLogger(GroupPrivilegesController.class); final static Logger _logger = LoggerFactory.getLogger(GroupPrivilegesController.class);
......
...@@ -15,137 +15,101 @@ ...@@ -15,137 +15,101 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.access.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Groups; import org.maxkey.entity.Groups;
import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.GroupsService; import org.maxkey.persistence.service.GroupsService;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/groups"}) @RequestMapping(value={"/access/groups"})
public class GroupsController { public class GroupsController {
final static Logger _logger = LoggerFactory.getLogger(GroupsController.class); final static Logger _logger = LoggerFactory.getLogger(GroupsController.class);
@Autowired @Autowired
@Qualifier("groupsService")
GroupsService groupsService; GroupsService groupsService;
@RequestMapping(value={"/list"})
public ModelAndView groupsList(){
return new ModelAndView("groups/groupsList");
}
@RequestMapping(value={"/selectGroupsList"})
public ModelAndView selectGroupsList(){
return new ModelAndView("groups/selectGroupsList");
}
@RequestMapping(value = { "/grid" }) @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody @ResponseBody
public JpaPageResults<Groups> queryDataGrid(@ModelAttribute("groups") Groups groups) { public ResponseEntity<?> fetch(
@ModelAttribute Groups groups,
@CurrentUser UserInfo currentUser) {
_logger.debug(""+groups); _logger.debug(""+groups);
groups.setInstId(WebContext.getUserInfo().getInstId()); groups.setInstId(currentUser.getInstId());
return groupsService.queryPageResults(groups); return new Message<JpaPageResults<Groups>>(
groupsService.queryPageResults(groups)).buildResponse();
} }
@ResponseBody
@RequestMapping(value = { "/forwardAdd" }) @RequestMapping(value={"/query"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardAdd() { public ResponseEntity<?> query(@ModelAttribute Groups group,@CurrentUser UserInfo currentUser) {
return new ModelAndView("groups/groupAdd"); _logger.debug("-query :" + group);
group.setInstId(currentUser.getInstId());
if (groupsService.load(group)!=null) {
return new Message<Groups>(Message.SUCCESS).buildResponse();
} else {
return new Message<Groups>(Message.FAIL).buildResponse();
}
} }
@RequestMapping(value = { "/forwardUpdate/{id}" }) @RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardUpdate(@PathVariable("id") String id) { public ResponseEntity<?> get(@PathVariable("id") String id,@CurrentUser UserInfo currentUser) {
ModelAndView modelAndView=new ModelAndView("groups/groupUpdate");
Groups group=groupsService.get(id); Groups group=groupsService.get(id);
modelAndView.addObject("model",group); return new Message<Groups>(group).buildResponse();
return modelAndView;
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/add"}) @RequestMapping(value={"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message insert(@ModelAttribute("group") Groups group) { public ResponseEntity<?> insert(@RequestBody Groups group,@CurrentUser UserInfo currentUser) {
_logger.debug("-Add :" + group); _logger.debug("-Add :" + group);
group.setInstId(WebContext.getUserInfo().getInstId()); group.setInstId(currentUser.getInstId());
if (groupsService.insert(group)) { if (groupsService.insert(group)) {
groupsService.refreshDynamicGroups(group); groupsService.refreshDynamicGroups(group);
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); return new Message<Groups>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.error); return new Message<Groups>(Message.FAIL).buildResponse();
} }
} }
/**
* 查询
* @param group
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/query"}) @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message query(@ModelAttribute("group") Groups group) { public ResponseEntity<?> update(@RequestBody Groups group,@CurrentUser UserInfo currentUser) {
_logger.debug("-query :" + group);
group.setInstId(WebContext.getUserInfo().getInstId());
if (groupsService.load(group)!=null) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_ERROR),MessageType.error);
}
}
/**
* 修改
* @param group
* @return
*/
@ResponseBody
@RequestMapping(value={"/update"})
public Message update(@ModelAttribute("group") Groups group) {
_logger.debug("-update group :" + group); _logger.debug("-update group :" + group);
group.setInstId(WebContext.getUserInfo().getInstId()); group.setInstId(currentUser.getInstId());
if (groupsService.update(group)) { if (groupsService.update(group)) {
groupsService.refreshDynamicGroups(group); groupsService.refreshDynamicGroups(group);
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<Groups>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<Groups>(Message.FAIL).buildResponse();
} }
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/delete"}) @RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message delete(@ModelAttribute("group") Groups group) { public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug("-delete group :" + group); _logger.debug("-delete ids : {}" , ids);
if (groupsService.deleteById(group.getId())) { if (groupsService.deleteBatch(ids)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.success); return new Message<Groups>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.error); return new Message<Groups>(Message.FAIL).buildResponse();
} }
} }
} }
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
*/ */
package org.maxkey.web.historys.contorller; package org.maxkey.web.access.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.authn.online.OnlineTicketService; import org.maxkey.authn.online.OnlineTicketService;
import org.maxkey.entity.HistoryLogin; import org.maxkey.entity.HistoryLogin;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
...@@ -30,8 +30,6 @@ import org.maxkey.persistence.repository.LoginRepository; ...@@ -30,8 +30,6 @@ import org.maxkey.persistence.repository.LoginRepository;
import org.maxkey.persistence.service.HistoryLoginService; import org.maxkey.persistence.service.HistoryLoginService;
import org.maxkey.util.DateUtils; import org.maxkey.util.DateUtils;
import org.maxkey.util.StringUtils; import org.maxkey.util.StringUtils;
import org.maxkey.web.WebConstants;
import org.maxkey.web.WebContext;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -46,14 +44,14 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -46,14 +44,14 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
/** /**
* 登录日志查询. * 登录会话管理.
* *
* @author Crystal.sea * @author Crystal.sea
* *
*/ */
@Controller @Controller
@RequestMapping(value = { "/session" }) @RequestMapping(value = { "/access/session" })
public class LoginSessionController { public class LoginSessionController {
static final Logger _logger = LoggerFactory.getLogger(LoginSessionController.class); static final Logger _logger = LoggerFactory.getLogger(LoginSessionController.class);
...@@ -66,7 +64,7 @@ public class LoginSessionController { ...@@ -66,7 +64,7 @@ public class LoginSessionController {
LoginHistoryRepository loginHistoryRepository; LoginHistoryRepository loginHistoryRepository;
@Autowired @Autowired
OnlineTicketService onlineTicketServices; OnlineTicketService onlineTicketService;
/** /**
* 查询登录日志. * 查询登录日志.
...@@ -74,15 +72,15 @@ public class LoginSessionController { ...@@ -74,15 +72,15 @@ public class LoginSessionController {
* @param logsAuth * @param logsAuth
* @return * @return
*/ */
@RequestMapping(value = { "/sessionList/fetch" }) @RequestMapping(value = { "/fetch" })
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch( public ResponseEntity<?> fetch(
@ModelAttribute("historyLogin") HistoryLogin historyLogin, @ModelAttribute("historyLogin") HistoryLogin historyLogin,
@CurrentUser UserInfo currentUser) { @CurrentUser UserInfo currentUser) {
_logger.debug("history/session/fetch {}" , historyLogin); _logger.debug("history/session/fetch {}" , historyLogin);
historyLogin.setInstId(WebContext.getUserInfo().getInstId()); historyLogin.setInstId(currentUser.getInstId());
return new Message<JpaPageResults<HistoryLogin>>( return new Message<JpaPageResults<HistoryLogin>>(
historyLoginService.queryPageResults(historyLogin) historyLoginService.queryOnlineSession(historyLogin)
).buildResponse(); ).buildResponse();
} }
...@@ -90,23 +88,19 @@ public class LoginSessionController { ...@@ -90,23 +88,19 @@ public class LoginSessionController {
@ResponseBody @ResponseBody
@RequestMapping(value="/terminate") @RequestMapping(value="/terminate")
public ResponseEntity<?> deleteUsersById(@RequestParam("id") String ids,@CurrentUser UserInfo currentUser) { public ResponseEntity<?> terminate(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug(ids); _logger.debug(ids);
boolean isTerminated = false; boolean isTerminated = false;
try { try {
String currentUserSessionId = "";
if(WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID) != null) {
currentUserSessionId = WebContext.getAttribute(WebConstants.CURRENT_USER_SESSION_ID).toString();
}
for(String sessionId : StringUtils.string2List(ids, ",")) { for(String sessionId : StringUtils.string2List(ids, ",")) {
_logger.trace("terminate session Id {} ",sessionId); _logger.trace("terminate session Id {} ",sessionId);
if(currentUserSessionId.contains(sessionId)) { if(currentUser.getOnlineTicket().contains(sessionId)) {
continue;//skip current session continue;//skip current session
} }
String lastLogoffTime = DateUtils.formatDateTime(new Date()); String lastLogoffTime = DateUtils.formatDateTime(new Date());
loginRepository.updateLastLogoff(currentUser); loginRepository.updateLastLogoff(currentUser);
loginHistoryRepository.logoff(lastLogoffTime, sessionId); loginHistoryRepository.logoff(lastLogoffTime, sessionId);
onlineTicketServices.remove("OT-" + sessionId); onlineTicketService.remove("OT-" + sessionId);
} }
isTerminated = true; isTerminated = true;
}catch(Exception e) { }catch(Exception e) {
...@@ -119,6 +113,7 @@ public class LoginSessionController { ...@@ -119,6 +113,7 @@ public class LoginSessionController {
return new Message<HistoryLogin>(Message.ERROR).buildResponse(); return new Message<HistoryLogin>(Message.ERROR).buildResponse();
} }
} }
@InitBinder @InitBinder
public void initBinder(WebDataBinder binder) { public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat(DateUtils.FORMAT_DATE_HH_MM_SS); SimpleDateFormat dateFormat = new SimpleDateFormat(DateUtils.FORMAT_DATE_HH_MM_SS);
......
package org.maxkey.web.access.contorller;
\ No newline at end of file
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
......
...@@ -15,136 +15,92 @@ ...@@ -15,136 +15,92 @@
*/ */
package org.maxkey.web.apps.contorller; package org.maxkey.web.config.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo;
import org.maxkey.entity.apps.AppsAdapters; import org.maxkey.entity.apps.AppsAdapters;
import org.maxkey.persistence.service.AppsAdaptersService; import org.maxkey.persistence.service.AppsAdaptersService;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/apps/adapters"}) @RequestMapping(value={"/config/adapters"})
public class AdaptersController { public class AdaptersController {
final static Logger _logger = LoggerFactory.getLogger(AdaptersController.class); final static Logger _logger = LoggerFactory.getLogger(AdaptersController.class);
@Autowired @Autowired
@Qualifier("appsAdaptersService") AppsAdaptersService appsAdaptersService;
AppsAdaptersService appsAdaptersService;
@RequestMapping(value={"/list"})
public ModelAndView rolesList(){
return new ModelAndView("apps/adapters/adaptersList");
}
@RequestMapping(value={"/selectAdaptersList"})
public ModelAndView selectAdaptersList(@RequestParam(name="protocol",required=false) String protocol){
ModelAndView modelAndView=new ModelAndView("apps/adapters/selectAdaptersList");
modelAndView.addObject("protocol", protocol);
return modelAndView;
}
@RequestMapping(value = { "/grid" }) @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody @ResponseBody
public JpaPageResults<AppsAdapters> queryDataGrid(@ModelAttribute("appsAdapter") AppsAdapters appsAdapter) { public ResponseEntity<?> fetch(@ModelAttribute AppsAdapters appsAdapter) {
_logger.debug(""+appsAdapter); _logger.debug(""+appsAdapter);
return appsAdaptersService.queryPageResults(appsAdapter); return new Message<JpaPageResults<AppsAdapters>>(
appsAdaptersService.queryPageResults(appsAdapter)).buildResponse();
} }
@ResponseBody
@RequestMapping(value = { "/forwardAdd" }) @RequestMapping(value={"/query"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardAdd() { public ResponseEntity<?> query(@ModelAttribute AppsAdapters appsAdapter,@CurrentUser UserInfo currentUser) {
return new ModelAndView("apps/adapters/adapterAdd"); _logger.debug("-query :" + appsAdapter);
if (appsAdaptersService.load(appsAdapter)!=null) {
return new Message<AppsAdapters>(Message.SUCCESS).buildResponse();
} else {
return new Message<AppsAdapters>(Message.SUCCESS).buildResponse();
}
} }
@RequestMapping(value = { "/forwardUpdate/{id}" }) @RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardUpdate(@PathVariable("id") String id) { public ResponseEntity<?> get(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("apps/adapters/adapterUpdate");
AppsAdapters appsAdapter=appsAdaptersService.get(id); AppsAdapters appsAdapter=appsAdaptersService.get(id);
modelAndView.addObject("model",appsAdapter); return new Message<AppsAdapters>(appsAdapter).buildResponse();
return modelAndView;
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/add"}) @RequestMapping(value={"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message insert(@ModelAttribute("appsAdapter") AppsAdapters appsAdapter) { public ResponseEntity<?> insert(@RequestBody AppsAdapters appsAdapter,@CurrentUser UserInfo currentUser) {
_logger.debug("-Add :" + appsAdapter); _logger.debug("-Add :" + appsAdapter);
if (appsAdaptersService.insert(appsAdapter)) { if (appsAdaptersService.insert(appsAdapter)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); return new Message<AppsAdapters>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.error); return new Message<AppsAdapters>(Message.FAIL).buildResponse();
} }
} }
/**
* 查询
* @param role
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/query"}) @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message query(@ModelAttribute("appsAdapter") AppsAdapters appsAdapter) { public ResponseEntity<?> update(@RequestBody AppsAdapters appsAdapter,@CurrentUser UserInfo currentUser) {
_logger.debug("-query :" + appsAdapter); _logger.debug("-update :" + appsAdapter);
if (appsAdaptersService.load(appsAdapter)!=null) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_ERROR),MessageType.error);
}
}
/**
* 修改
* @param role
* @return
*/
@ResponseBody
@RequestMapping(value={"/update"})
public Message update(@ModelAttribute("appsAdapter") AppsAdapters appsAdapter) {
_logger.debug("-update appsAdapter :" + appsAdapter);
if (appsAdaptersService.update(appsAdapter)) { if (appsAdaptersService.update(appsAdapter)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<AppsAdapters>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<AppsAdapters>(Message.FAIL).buildResponse();
} }
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/delete"}) @RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message delete(@ModelAttribute("appsAdapter") AppsAdapters appsAdapter) { public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug("-delete appsAdapter :" + appsAdapter); _logger.debug("-delete ids : {} " , ids);
if (appsAdaptersService.deleteBatch(ids)) {
if (appsAdaptersService.deleteBatch(appsAdapter.getId())) { return new Message<AppsAdapters>(Message.SUCCESS).buildResponse();
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.success);
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.error); return new Message<AppsAdapters>(Message.FAIL).buildResponse();
} }
} }
} }
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.EmailSenders; import org.maxkey.entity.EmailSenders;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
...@@ -37,57 +37,44 @@ import org.springframework.web.bind.annotation.ResponseBody; ...@@ -37,57 +37,44 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Controller @Controller
@RequestMapping(value={"/config/emailsenders"}) @RequestMapping(value={"/config/emailsenders"})
public class EmailSendersController { public class EmailSendersController {
final static Logger _logger = LoggerFactory.getLogger(EmailSendersController.class);
@Autowired
private EmailSendersService emailSendersService;
@RequestMapping(value={"/get"})
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
EmailSenders emailSenders = emailSendersService.get(currentUser.getInstId());
if(emailSenders != null && StringUtils.isNotBlank(emailSenders.getCredentials())) {
emailSenders.setCredentials(PasswordReciprocal.getInstance().decoder(emailSenders.getCredentials()));
}else {
emailSenders =new EmailSenders();
emailSenders.setProtocol("smtp");
emailSenders.setEncoding("utf-8");
}
return new Message<EmailSenders>(emailSenders).buildResponse();
}
final static Logger _logger = LoggerFactory.getLogger(EmailSendersController.class); @RequestMapping(value={"/update"})
@ResponseBody
@Autowired public ResponseEntity<?> update( @RequestBody EmailSenders emailSenders,@CurrentUser UserInfo currentUser,BindingResult result) {
private EmailSendersService emailSendersService; _logger.debug("update emailSenders : "+emailSenders);
emailSenders.setInstId(currentUser.getInstId());
/** emailSenders.setCredentials(PasswordReciprocal.getInstance().encode(emailSenders.getCredentials()));
* 读取 if(StringUtils.isBlank(emailSenders.getId())) {
* @return emailSenders.setId(emailSenders.getInstId());
*/ if(emailSendersService.insert(emailSenders)) {
@RequestMapping(value={"/get"}) return new Message<EmailSenders>(Message.SUCCESS).buildResponse();
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
EmailSenders emailSenders = emailSendersService.get(currentUser.getInstId());
if(emailSenders != null && StringUtils.isNotBlank(emailSenders.getCredentials())) {
emailSenders.setCredentials(PasswordReciprocal.getInstance().decoder(emailSenders.getCredentials()));
}else { }else {
emailSenders =new EmailSenders(); return new Message<EmailSenders>(Message.ERROR).buildResponse();
emailSenders.setProtocol("smtp");
emailSenders.setEncoding("utf-8");
} }
return new Message<EmailSenders>(emailSenders).buildResponse(); }else {
} if(emailSendersService.update(emailSenders)) {
return new Message<EmailSenders>(Message.SUCCESS).buildResponse();
/**
* 更新
* @param emailSenders
* @return
*/
@RequestMapping(value={"/update"})
@ResponseBody
public ResponseEntity<?> update( @RequestBody EmailSenders emailSenders,@CurrentUser UserInfo currentUser,BindingResult result) {
_logger.debug("update emailSenders : "+emailSenders);
emailSenders.setInstId(currentUser.getInstId());
emailSenders.setCredentials(PasswordReciprocal.getInstance().encode(emailSenders.getCredentials()));
if(StringUtils.isBlank(emailSenders.getId())) {
emailSenders.setId(emailSenders.getInstId());
if(emailSendersService.insert(emailSenders)) {
return new Message<EmailSenders>(Message.SUCCESS).buildResponse();
}else {
return new Message<EmailSenders>(Message.ERROR).buildResponse();
}
}else { }else {
if(emailSendersService.update(emailSenders)) { return new Message<EmailSenders>(Message.ERROR).buildResponse();
return new Message<EmailSenders>(Message.SUCCESS).buildResponse();
}else {
return new Message<EmailSenders>(Message.ERROR).buildResponse();
}
} }
} }
}
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
import org.maxkey.entity.Institutions; import org.maxkey.entity.Institutions;
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.LdapContext; import org.maxkey.entity.LdapContext;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
...@@ -38,50 +38,37 @@ import org.springframework.web.bind.annotation.ResponseBody; ...@@ -38,50 +38,37 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Controller @Controller
@RequestMapping(value={"/config/ldapcontext"}) @RequestMapping(value={"/config/ldapcontext"})
public class LdapContextController { public class LdapContextController {
final static Logger _logger = LoggerFactory.getLogger(LdapContextController.class);
@Autowired
private LdapContextService ldapContextService;
@RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
LdapContext ldapContext = ldapContextService.get(currentUser.getInstId());
if(ldapContext != null && StringUtils.isNoneBlank(ldapContext.getCredentials())) {
ldapContext.setCredentials(PasswordReciprocal.getInstance().decoder(ldapContext.getCredentials()));
}
return new Message<LdapContext>(ldapContext).buildResponse();
}
final static Logger _logger = LoggerFactory.getLogger(LdapContextController.class); @RequestMapping(value={"/update"})
@ResponseBody
@Autowired public ResponseEntity<?> update( @RequestBody LdapContext ldapContext,@CurrentUser UserInfo currentUser,BindingResult result) {
private LdapContextService ldapContextService; _logger.debug("update ldapContext : "+ldapContext);
ldapContext.setCredentials(PasswordReciprocal.getInstance().encode(ldapContext.getCredentials()));
/** ldapContext.setInstId(currentUser.getInstId());
* 读取 boolean updateResult = false;
* @return if(StringUtils.isBlank(ldapContext.getId())) {
*/ ldapContext.setId(ldapContext.getInstId());
@RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE}) updateResult = ldapContextService.insert(ldapContext);
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){ }else {
LdapContext ldapContext = ldapContextService.get(currentUser.getInstId()); updateResult = ldapContextService.update(ldapContext);
if(ldapContext != null && StringUtils.isNoneBlank(ldapContext.getCredentials())) {
ldapContext.setCredentials(PasswordReciprocal.getInstance().decoder(ldapContext.getCredentials()));
}
return new Message<LdapContext>(ldapContext).buildResponse();
} }
if(updateResult) {
/** return new Message<LdapContext>(Message.SUCCESS).buildResponse();
* 更新 } else {
* @param sysConfig return new Message<LdapContext>(Message.FAIL).buildResponse();
* @return
*/
@RequestMapping(value={"/update"})
@ResponseBody
public ResponseEntity<?> update( @RequestBody LdapContext ldapContext,@CurrentUser UserInfo currentUser,BindingResult result) {
_logger.debug("update ldapContext : "+ldapContext);
ldapContext.setCredentials(PasswordReciprocal.getInstance().encode(ldapContext.getCredentials()));
ldapContext.setInstId(currentUser.getInstId());
boolean updateResult = false;
if(StringUtils.isBlank(ldapContext.getId())) {
ldapContext.setId(ldapContext.getInstId());
updateResult = ldapContextService.insert(ldapContext);
}else {
updateResult = ldapContextService.update(ldapContext);
}
if(updateResult) {
return new Message<LdapContext>(Message.SUCCESS).buildResponse();
} else {
return new Message<LdapContext>(Message.FAIL).buildResponse();
}
} }
}
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
......
...@@ -15,11 +15,11 @@ ...@@ -15,11 +15,11 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import javax.validation.Valid; import javax.validation.Valid;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.PasswordPolicy; import org.maxkey.entity.PasswordPolicy;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -38,84 +38,67 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -38,84 +38,67 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller @Controller
@RequestMapping(value={"/config/passwordpolicy"}) @RequestMapping(value={"/config/passwordpolicy"})
public class PasswordPolicyController { public class PasswordPolicyController {
final static Logger _logger = LoggerFactory.getLogger(PasswordPolicyController.class);
final static Logger _logger = LoggerFactory.getLogger(PasswordPolicyController.class);
@Autowired @Autowired
private PasswordPolicyService passwordPolicyService; private PasswordPolicyService passwordPolicyService;
@RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
PasswordPolicy passwordPolicy = passwordPolicyService.get(currentUser.getInstId());
return new Message<PasswordPolicy>(passwordPolicy).buildResponse();
}
@RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> update(@Valid @RequestBody PasswordPolicy passwordPolicy,@CurrentUser UserInfo currentUser,BindingResult result) {
_logger.debug("updateRole passwordPolicy : "+passwordPolicy);
//Message message = this.validate(result, passwordPolicy);
/** if(passwordPolicyService.update(passwordPolicy)) {
* 读取 return new Message<PasswordPolicy>(Message.SUCCESS).buildResponse();
* @return } else {
*/ return new Message<PasswordPolicy>(Message.ERROR).buildResponse();
@RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE}) }
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){ }
PasswordPolicy passwordPolicy = passwordPolicyService.get(currentUser.getInstId());
return new Message<PasswordPolicy>(passwordPolicy).buildResponse(); public Message validate(BindingResult result,PasswordPolicy passwordPolicy) {
if (result.hasErrors()) {
return new Message(result);
}
if(passwordPolicy.getMinLength() < 3) {
FieldError fe = new FieldError("passwordPolicy", "minLength",
passwordPolicy.getMinLength(), true,
new String[]{"ui.passwordpolicy.xe00000001"},//密码最小长度不能小于3位字符
null, null);
result.addError(fe);
return new Message(result);
}
if(passwordPolicy.getMinLength() > passwordPolicy.getMaxLength()) {
FieldError fe = new FieldError("passwordPolicy", "maxLength",
passwordPolicy.getMinLength(), true,
new String[]{"ui.passwordpolicy.xe00000002"},//密码最大长度不能小于最小长度
null, null);
result.addError(fe);
return new Message(result);
} }
/** if(passwordPolicy.getDigits() + passwordPolicy.getLowerCase() + passwordPolicy.getUpperCase() + passwordPolicy.getSpecialChar() < 2) {
* 更新 FieldError fe = new FieldError("passwordPolicy", "specialChar",
* @param sysConfig 2, true,
* @return new String[]{"ui.passwordpolicy.xe00000003"},//密码包含小写字母、大写字母、数字、特殊字符的个数不能小于2
*/ null, null);
@RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE}) result.addError(fe);
public ResponseEntity<?> update(@Valid @RequestBody PasswordPolicy passwordPolicy,@CurrentUser UserInfo currentUser,BindingResult result) { return new Message(result);
_logger.debug("updateRole passwordPolicy : "+passwordPolicy);
//Message message = this.validate(result, passwordPolicy);
if(passwordPolicyService.update(passwordPolicy)) {
return new Message<PasswordPolicy>(Message.SUCCESS).buildResponse();
} else {
return new Message<PasswordPolicy>(Message.ERROR).buildResponse();
}
} }
/** if(passwordPolicy.getDigits() + passwordPolicy.getLowerCase() + passwordPolicy.getUpperCase() + passwordPolicy.getSpecialChar() > passwordPolicy.getMaxLength()) {
* 验证函数 FieldError fe = new FieldError("passwordPolicy", "specialChar",
* @param result passwordPolicy.getMinLength(), true,
* @param passwordPolicy new String[]{"ui.passwordpolicy.xe00000004"},//密码包含小写字母、大写字母、数字、特殊字符的个数不能大于密码的最大长度
* @return null, null);
*/ result.addError(fe);
public Message validate(BindingResult result,PasswordPolicy passwordPolicy) { return new Message(result);
if (result.hasErrors()) {
return new Message(result);
}
if(passwordPolicy.getMinLength() < 3) {
FieldError fe = new FieldError("passwordPolicy", "minLength",
passwordPolicy.getMinLength(), true,
new String[]{"ui.passwordpolicy.xe00000001"},//密码最小长度不能小于3位字符
null, null);
result.addError(fe);
return new Message(result);
}
if(passwordPolicy.getMinLength() > passwordPolicy.getMaxLength()) {
FieldError fe = new FieldError("passwordPolicy", "maxLength",
passwordPolicy.getMinLength(), true,
new String[]{"ui.passwordpolicy.xe00000002"},//密码最大长度不能小于最小长度
null, null);
result.addError(fe);
return new Message(result);
}
if(passwordPolicy.getDigits() + passwordPolicy.getLowerCase() + passwordPolicy.getUpperCase() + passwordPolicy.getSpecialChar() < 2) {
FieldError fe = new FieldError("passwordPolicy", "specialChar",
2, true,
new String[]{"ui.passwordpolicy.xe00000003"},//密码包含小写字母、大写字母、数字、特殊字符的个数不能小于2
null, null);
result.addError(fe);
return new Message(result);
}
if(passwordPolicy.getDigits() + passwordPolicy.getLowerCase() + passwordPolicy.getUpperCase() + passwordPolicy.getSpecialChar() > passwordPolicy.getMaxLength()) {
FieldError fe = new FieldError("passwordPolicy", "specialChar",
passwordPolicy.getMinLength(), true,
new String[]{"ui.passwordpolicy.xe00000004"},//密码包含小写字母、大写字母、数字、特殊字符的个数不能大于密码的最大长度
null, null);
result.addError(fe);
return new Message(result);
}
return null;
} }
return null;
}
} }
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.SmsProvider; import org.maxkey.entity.SmsProvider;
...@@ -38,49 +38,37 @@ import org.springframework.web.bind.annotation.ResponseBody; ...@@ -38,49 +38,37 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Controller @Controller
@RequestMapping(value={"/config/smsprovider"}) @RequestMapping(value={"/config/smsprovider"})
public class SmsProviderController { public class SmsProviderController {
final static Logger _logger = LoggerFactory.getLogger(SmsProviderController.class);
@Autowired
private SmsProviderService smsProviderService;
final static Logger _logger = LoggerFactory.getLogger(SmsProviderController.class); @RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
@Autowired SmsProvider smsProvider = smsProviderService.get(currentUser.getInstId());
private SmsProviderService smsProviderService; if(smsProvider != null && StringUtils.isNoneBlank(smsProvider.getId())) {
smsProvider.setAppSecret(PasswordReciprocal.getInstance().decoder(smsProvider.getAppSecret()));
/**
* 读取
* @return
*/
@RequestMapping(value={"/get"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> get(@CurrentUser UserInfo currentUser){
SmsProvider smsProvider = smsProviderService.get(currentUser.getInstId());
if(smsProvider != null && StringUtils.isNoneBlank(smsProvider.getId())) {
smsProvider.setAppSecret(PasswordReciprocal.getInstance().decoder(smsProvider.getAppSecret()));
}
return new Message<SmsProvider>(smsProvider).buildResponse();
} }
return new Message<SmsProvider>(smsProvider).buildResponse();
/** }
* 更新
* @param sysConfig
* @return
*/
@RequestMapping(value={"/update"})
@ResponseBody
public ResponseEntity<?> update( @RequestBody SmsProvider smsProvider,@CurrentUser UserInfo currentUser,BindingResult result) {
_logger.debug("update smsProvider : "+smsProvider);
smsProvider.setAppSecret(PasswordReciprocal.getInstance().encode(smsProvider.getAppSecret()));
smsProvider.setInstId(currentUser.getInstId());
boolean updateResult = false;
if(StringUtils.isBlank(smsProvider.getId())) {
smsProvider.setId(smsProvider.getInstId());
updateResult = smsProviderService.insert(smsProvider);
}else {
updateResult = smsProviderService.update(smsProvider);
}
if(updateResult) {
return new Message<SmsProvider>(Message.SUCCESS).buildResponse();
} else {
return new Message<SmsProvider>(Message.FAIL).buildResponse();
}
}
@RequestMapping(value={"/update"})
@ResponseBody
public ResponseEntity<?> update( @RequestBody SmsProvider smsProvider,@CurrentUser UserInfo currentUser,BindingResult result) {
_logger.debug("update smsProvider : "+smsProvider);
smsProvider.setAppSecret(PasswordReciprocal.getInstance().encode(smsProvider.getAppSecret()));
smsProvider.setInstId(currentUser.getInstId());
boolean updateResult = false;
if(StringUtils.isBlank(smsProvider.getId())) {
smsProvider.setId(smsProvider.getInstId());
updateResult = smsProviderService.insert(smsProvider);
}else {
updateResult = smsProviderService.update(smsProvider);
}
if(updateResult) {
return new Message<SmsProvider>(Message.SUCCESS).buildResponse();
} else {
return new Message<SmsProvider>(Message.FAIL).buildResponse();
}
}
} }
...@@ -15,130 +15,101 @@ ...@@ -15,130 +15,101 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.Message;
import org.maxkey.entity.SocialsProvider; import org.maxkey.entity.SocialsProvider;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.SocialsProviderService; import org.maxkey.persistence.service.SocialsProviderService;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/socialsprovider"}) @RequestMapping(value={"/config/socialsprovider"})
public class SocialsProviderController { public class SocialsProviderController {
final static Logger _logger = LoggerFactory.getLogger(SocialsProviderController.class); final static Logger _logger = LoggerFactory.getLogger(SocialsProviderController.class);
@Autowired @Autowired
SocialsProviderService socialsProviderService; SocialsProviderService socialsProviderService;
@RequestMapping(value={"/list"})
public ModelAndView noticesList(){
return new ModelAndView("socialsprovider/socialsProviderList");
}
@RequestMapping(value = { "/grid" }) @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@ResponseBody @ResponseBody
public JpaPageResults<SocialsProvider> queryDataGrid(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) { public ResponseEntity<?> fetch(@ModelAttribute SocialsProvider socialsProvider,@CurrentUser UserInfo currentUser) {
_logger.debug(""+socialsProvider); _logger.debug(""+socialsProvider);
socialsProvider.setInstId(WebContext.getUserInfo().getInstId()); socialsProvider.setInstId(currentUser.getInstId());
return socialsProviderService.queryPageResults(socialsProvider); return new Message<JpaPageResults<SocialsProvider>>(
socialsProviderService.queryPageResults(socialsProvider)).buildResponse();
} }
@ResponseBody
@RequestMapping(value = { "/forwardAdd" }) @RequestMapping(value={"/query"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardAdd() { public ResponseEntity<?> query(@ModelAttribute SocialsProvider socialsProvider,@CurrentUser UserInfo currentUser) {
return new ModelAndView("socialsprovider/socialsProviderAdd"); _logger.debug("-query :" + socialsProvider);
socialsProvider.setInstId(currentUser.getInstId());
if (socialsProviderService.load(socialsProvider)!=null) {
return new Message<SocialsProvider>(Message.SUCCESS).buildResponse();
} else {
return new Message<SocialsProvider>(Message.SUCCESS).buildResponse();
}
} }
@RequestMapping(value = { "/forwardUpdate/{id}" }) @RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardUpdate(@PathVariable("id") String id) { public ResponseEntity<?> get(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("socialsprovider/socialsProviderUpdate"); SocialsProvider socialsProvider=socialsProviderService.get(id);
SocialsProvider socialsProvider = socialsProviderService.get(id);
socialsProvider.setClientSecret(PasswordReciprocal.getInstance().decoder(socialsProvider.getClientSecret())); socialsProvider.setClientSecret(PasswordReciprocal.getInstance().decoder(socialsProvider.getClientSecret()));
modelAndView.addObject("model",socialsProvider); return new Message<SocialsProvider>(socialsProvider).buildResponse();
return modelAndView;
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/add"}) @RequestMapping(value={"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message insert(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) { public ResponseEntity<?> insert(@RequestBody SocialsProvider socialsProvider,@CurrentUser UserInfo currentUser) {
_logger.debug("-Add :" + socialsProvider); _logger.debug("-Add :" + socialsProvider);
socialsProvider.setInstId(WebContext.getUserInfo().getInstId()); socialsProvider.setInstId(currentUser.getInstId());
socialsProvider.setClientSecret(PasswordReciprocal.getInstance().encode(socialsProvider.getClientSecret())); socialsProvider.setClientSecret(PasswordReciprocal.getInstance().encode(socialsProvider.getClientSecret()));
if (socialsProviderService.insert(socialsProvider)) { if (socialsProviderService.insert(socialsProvider)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); return new Message<SocialsProvider>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.error); return new Message<SocialsProvider>(Message.FAIL).buildResponse();
} }
} }
/**
* 查询
* @param role
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/query"}) @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message query(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) { public ResponseEntity<?> update(@RequestBody SocialsProvider socialsProvider,@CurrentUser UserInfo currentUser) {
_logger.debug("-query :" + socialsProvider); _logger.debug("-update :" + socialsProvider);
socialsProvider.setInstId(WebContext.getUserInfo().getInstId()); socialsProvider.setInstId(currentUser.getInstId());
if (socialsProviderService.load(socialsProvider)!=null) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_ERROR),MessageType.error);
}
}
/**
* 修改
* @param role
* @return
*/
@ResponseBody
@RequestMapping(value={"/update"})
public Message update(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) {
_logger.debug("-update socialsProvider :" + socialsProvider);
socialsProvider.setInstId(WebContext.getUserInfo().getInstId());
socialsProvider.setClientSecret(PasswordReciprocal.getInstance().encode(socialsProvider.getClientSecret())); socialsProvider.setClientSecret(PasswordReciprocal.getInstance().encode(socialsProvider.getClientSecret()));
if (socialsProviderService.update(socialsProvider)) { if (socialsProviderService.update(socialsProvider)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<SocialsProvider>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<SocialsProvider>(Message.FAIL).buildResponse();
} }
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/delete"}) @RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message delete(@ModelAttribute("socialsProvider") SocialsProvider socialsProvider) { public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug("-delete socialsProvider :" + socialsProvider); _logger.debug("-delete ids : {} " , ids);
if (socialsProviderService.deleteBatch(ids)) {
if (socialsProviderService.deleteBatch(socialsProvider.getId())) { return new Message<SocialsProvider>(Message.SUCCESS).buildResponse();
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.success);
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.error); return new Message<SocialsProvider>(Message.FAIL).buildResponse();
} }
} }
} }
...@@ -15,100 +15,73 @@ ...@@ -15,100 +15,73 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.config.contorller;
import java.util.List; import java.util.List;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.crypto.password.PasswordReciprocal; import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.entity.Message;
import org.maxkey.entity.Synchronizers; import org.maxkey.entity.Synchronizers;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.SynchronizersService; import org.maxkey.persistence.service.SynchronizersService;
import org.maxkey.synchronizer.ISynchronizerService; import org.maxkey.synchronizer.ISynchronizerService;
import org.maxkey.util.StringUtils; import org.maxkey.util.StringUtils;
import org.maxkey.web.WebContext; import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/synchronizers"}) @RequestMapping(value={"/config/synchronizers"})
public class SynchronizersController { public class SynchronizersController {
final static Logger _logger = LoggerFactory.getLogger(SynchronizersController.class); final static Logger _logger = LoggerFactory.getLogger(SynchronizersController.class);
@Autowired @Autowired
@Qualifier("synchronizersService")
SynchronizersService synchronizersService; SynchronizersService synchronizersService;
@RequestMapping(value={"/list"}) @RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView groupsList(){
return new ModelAndView("synchronizers/synchronizersList");
}
@RequestMapping(value = { "/grid" })
@ResponseBody @ResponseBody
public JpaPageResults<Synchronizers> queryDataGrid(@ModelAttribute("synchronizers") Synchronizers synchronizers) { public ResponseEntity<?> fetch(Synchronizers synchronizers,@CurrentUser UserInfo currentUser) {
_logger.debug(""+synchronizers); _logger.debug(""+synchronizers);
synchronizers.setInstId(WebContext.getUserInfo().getInstId()); synchronizers.setInstId(currentUser.getInstId());
return synchronizersService.queryPageResults(synchronizers); return new Message<JpaPageResults<Synchronizers>>(
synchronizersService.queryPageResults(synchronizers)).buildResponse();
} }
@RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> get(@PathVariable("id") String id) {
@RequestMapping(value = { "/forwardUpdate/{id}" })
public ModelAndView forwardUpdate(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("synchronizers/synchronizerUpdate");
Synchronizers synchronizers=synchronizersService.get(id); Synchronizers synchronizers=synchronizersService.get(id);
synchronizers.setCredentials(PasswordReciprocal.getInstance().decoder(synchronizers.getCredentials())); synchronizers.setCredentials(PasswordReciprocal.getInstance().decoder(synchronizers.getCredentials()));
modelAndView.addObject("model",synchronizers); return new Message<Synchronizers>(synchronizers).buildResponse();
return modelAndView;
} }
/**
* 修改
* @param group
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/update"}) @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message update(@ModelAttribute("synchronizers") Synchronizers synchronizers) { public ResponseEntity<?> update(@RequestBody Synchronizers synchronizers,@CurrentUser UserInfo currentUser) {
_logger.debug("-update synchronizers :" + synchronizers); _logger.debug("-update :" + synchronizers);
synchronizers.setInstId(WebContext.getUserInfo().getInstId()); synchronizers.setInstId(currentUser.getInstId());
synchronizers.setCredentials(PasswordReciprocal.getInstance().encode(synchronizers.getCredentials())); synchronizers.setCredentials(PasswordReciprocal.getInstance().encode(synchronizers.getCredentials()));
if (synchronizersService.update(synchronizers)) { if (synchronizersService.update(synchronizers)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<Synchronizers>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<Synchronizers>(Message.FAIL).buildResponse();
} }
} }
/**
* 修改
* @param group
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/sync"}) @RequestMapping(value={"/sync"})
public Message sync(@RequestParam("id") String id) { public ResponseEntity<?> sync(@RequestParam("id") String id) {
_logger.debug("-update synchronizers ids :" + id); _logger.debug("-sync ids :" + id);
List<String> ids = StringUtils.string2List(id, ","); List<String> ids = StringUtils.string2List(id, ",");
try { try {
...@@ -122,9 +95,10 @@ public class SynchronizersController { ...@@ -122,9 +95,10 @@ public class SynchronizersController {
} }
}catch(Exception e) { }catch(Exception e) {
_logger.error("synchronizer Exception " , e); _logger.error("synchronizer Exception " , e);
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<Synchronizers>(Message.FAIL).buildResponse();
} }
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<Synchronizers>(Message.SUCCESS).buildResponse();
} }
} }
package org.maxkey.web.config.contorller;
\ No newline at end of file
...@@ -15,11 +15,11 @@ ...@@ -15,11 +15,11 @@
*/ */
package org.maxkey.web.endpoint; package org.maxkey.web.contorller;
import java.util.HashMap; import java.util.HashMap;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.ReportService; import org.maxkey.persistence.service.ReportService;
...@@ -37,9 +37,9 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -37,9 +37,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
* *
*/ */
@Controller @Controller
public class IndexEndpoint { public class DashboardController {
private static Logger _logger = LoggerFactory.getLogger(IndexEndpoint.class); private static Logger _logger = LoggerFactory.getLogger(DashboardController.class);
@Autowired @Autowired
@Qualifier("reportService") @Qualifier("reportService")
ReportService reportService; ReportService reportService;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.endpoint; package org.maxkey.web.contorller;
import org.maxkey.authn.AbstractAuthenticationProvider; import org.maxkey.authn.AbstractAuthenticationProvider;
import org.maxkey.authn.LoginCredential; import org.maxkey.authn.LoginCredential;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.endpoint; package org.maxkey.web.contorller;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
......
...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller; ...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.HistoryConnector; import org.maxkey.entity.HistoryConnector;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -59,7 +59,7 @@ final static Logger _logger = LoggerFactory.getLogger(ConnectorHistoryController ...@@ -59,7 +59,7 @@ final static Logger _logger = LoggerFactory.getLogger(ConnectorHistoryController
* @param historySynchronizer * @param historySynchronizer
* @return * @return
*/ */
@RequestMapping(value={"/connectorHistoryList/fetch"}) @RequestMapping(value={"/connectorHistory/fetch"})
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch( public ResponseEntity<?> fetch(
@ModelAttribute("historyConnector") HistoryConnector historyConnector, @ModelAttribute("historyConnector") HistoryConnector historyConnector,
......
...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller; ...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.HistoryLoginApps; import org.maxkey.entity.HistoryLoginApps;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -57,7 +57,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginAppsHistoryController ...@@ -57,7 +57,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginAppsHistoryController
* @param loginAppsHistory * @param loginAppsHistory
* @return * @return
*/ */
@RequestMapping(value={"/loginAppsHistoryList/fetch"}) @RequestMapping(value={"/loginAppsHistory/fetch"})
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch( public ResponseEntity<?> fetch(
@ModelAttribute("historyLoginApp") HistoryLoginApps historyLoginApp, @ModelAttribute("historyLoginApp") HistoryLoginApps historyLoginApp,
......
...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller; ...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.HistoryLogin; import org.maxkey.entity.HistoryLogin;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -57,7 +57,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginHistoryController.cla ...@@ -57,7 +57,7 @@ final static Logger _logger = LoggerFactory.getLogger(LoginHistoryController.cla
* @param HistoryLogin * @param HistoryLogin
* @return * @return
*/ */
@RequestMapping(value={"/loginHistoryList/fetch"}) @RequestMapping(value={"/loginHistory/fetch"})
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch( public ResponseEntity<?> fetch(
@ModelAttribute("historyLogin") HistoryLogin historyLogin, @ModelAttribute("historyLogin") HistoryLogin historyLogin,
......
...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller; ...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.HistorySynchronizer; import org.maxkey.entity.HistorySynchronizer;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -59,7 +59,7 @@ final static Logger _logger = LoggerFactory.getLogger(SynchronizerHistoryControl ...@@ -59,7 +59,7 @@ final static Logger _logger = LoggerFactory.getLogger(SynchronizerHistoryControl
* @param historySynchronizer * @param historySynchronizer
* @return * @return
*/ */
@RequestMapping(value={"/synchronizerHistoryList/fetch"}) @RequestMapping(value={"/synchronizerHistory/fetch"})
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch( public ResponseEntity<?> fetch(
@ModelAttribute("historySynchronizer") HistorySynchronizer historySynchronizer, @ModelAttribute("historySynchronizer") HistorySynchronizer historySynchronizer,
......
...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller; ...@@ -20,7 +20,7 @@ package org.maxkey.web.historys.contorller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.authn.CurrentUser; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.HistoryLogs; import org.maxkey.entity.HistoryLogs;
import org.maxkey.entity.Message; import org.maxkey.entity.Message;
import org.maxkey.entity.UserInfo; import org.maxkey.entity.UserInfo;
...@@ -58,7 +58,7 @@ final static Logger _logger = LoggerFactory.getLogger(SystemLogsController.class ...@@ -58,7 +58,7 @@ final static Logger _logger = LoggerFactory.getLogger(SystemLogsController.class
* @param logs * @param logs
* @return * @return
*/ */
@RequestMapping(value={"/systemLogsList/fetch"}) @RequestMapping(value={"/systemLogs/fetch"})
@ResponseBody @ResponseBody
public ResponseEntity<?> fetch(@ModelAttribute("historyLog") HistoryLogs historyLog, public ResponseEntity<?> fetch(@ModelAttribute("historyLog") HistoryLogs historyLog,
@CurrentUser UserInfo currentUser){ @CurrentUser UserInfo currentUser){
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.permissions.contorller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.permissions.contorller;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.permissions.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.constants.ConstsOperateMessage;
......
...@@ -15,136 +15,99 @@ ...@@ -15,136 +15,99 @@
*/ */
package org.maxkey.web.contorller; package org.maxkey.web.permissions.contorller;
import org.apache.mybatis.jpa.persistence.JpaPageResults; import org.apache.mybatis.jpa.persistence.JpaPageResults;
import org.maxkey.constants.ConstsOperateMessage; import org.maxkey.authn.annotation.CurrentUser;
import org.maxkey.entity.Message;
import org.maxkey.entity.Roles; import org.maxkey.entity.Roles;
import org.maxkey.entity.UserInfo;
import org.maxkey.persistence.service.RolesService; import org.maxkey.persistence.service.RolesService;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller @Controller
@RequestMapping(value={"/roles"}) @RequestMapping(value={"/permissions/roles"})
public class RolesController { public class RolesController {
final static Logger _logger = LoggerFactory.getLogger(RolesController.class); final static Logger _logger = LoggerFactory.getLogger(RolesController.class);
@Autowired @Autowired
@Qualifier("rolesService")
RolesService rolesService; RolesService rolesService;
@RequestMapping(value = { "/fetch" }, produces = {MediaType.APPLICATION_JSON_VALUE})
@RequestMapping(value={"/list"})
public ModelAndView rolesList(){
return new ModelAndView("roles/rolesList");
}
@RequestMapping(value={"/selectRolesList"})
public ModelAndView selectRolesList(){
return new ModelAndView("roles/selectRolesList");
}
@RequestMapping(value = { "/grid" })
@ResponseBody @ResponseBody
public JpaPageResults<Roles> queryDataGrid(@ModelAttribute("roles") Roles roles) { public ResponseEntity<?> fetch(@ModelAttribute Roles roles,@CurrentUser UserInfo currentUser) {
_logger.debug(""+roles); _logger.debug(""+roles);
roles.setInstId(WebContext.getUserInfo().getInstId()); roles.setInstId(currentUser.getInstId());
return rolesService.queryPageResults(roles); return new Message<JpaPageResults<Roles>>(
rolesService.queryPageResults(roles)).buildResponse();
} }
@ResponseBody
@RequestMapping(value = { "/forwardAdd" }) @RequestMapping(value={"/query"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardAdd() { public ResponseEntity<?> query(@ModelAttribute Roles role,@CurrentUser UserInfo currentUser) {
return new ModelAndView("roles/roleAdd"); _logger.debug("-query :" + role);
role.setInstId(currentUser.getInstId());
if (rolesService.load(role)!=null) {
return new Message<Roles>(Message.SUCCESS).buildResponse();
} else {
return new Message<Roles>(Message.SUCCESS).buildResponse();
}
} }
@RequestMapping(value = { "/forwardUpdate/{id}" }) @RequestMapping(value = { "/get/{id}" }, produces = {MediaType.APPLICATION_JSON_VALUE})
public ModelAndView forwardUpdate(@PathVariable("id") String id) { public ResponseEntity<?> get(@PathVariable("id") String id) {
ModelAndView modelAndView=new ModelAndView("roles/roleUpdate");
Roles role=rolesService.get(id); Roles role=rolesService.get(id);
modelAndView.addObject("model",role); return new Message<Roles>(role).buildResponse();
return modelAndView;
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/add"}) @RequestMapping(value={"/add"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message insert(@ModelAttribute("role") Roles role) { public ResponseEntity<?> insert(@RequestBody Roles role,@CurrentUser UserInfo currentUser) {
_logger.debug("-Add :" + role); _logger.debug("-Add :" + role);
role.setInstId(WebContext.getUserInfo().getInstId()); role.setInstId(currentUser.getInstId());
if (rolesService.insert(role)) { if (rolesService.insert(role)) {
rolesService.refreshDynamicRoles(role); rolesService.refreshDynamicRoles(role);
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success); return new Message<Roles>(Message.SUCCESS).buildResponse();
} else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_SUCCESS),MessageType.error);
}
}
/**
* 查询
* @param role
* @return
*/
@ResponseBody
@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(ConstsOperateMessage.INSERT_SUCCESS),MessageType.success);
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.INSERT_ERROR),MessageType.error); return new Message<Roles>(Message.FAIL).buildResponse();
} }
} }
/**
* 修改
* @param role
* @return
*/
@ResponseBody @ResponseBody
@RequestMapping(value={"/update"}) @RequestMapping(value={"/update"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message update(@ModelAttribute("role") Roles role) { public ResponseEntity<?> update(@RequestBody Roles role,@CurrentUser UserInfo currentUser) {
_logger.debug("-update role :" + role); _logger.debug("-update :" + role);
role.setInstId(WebContext.getUserInfo().getInstId()); role.setInstId(currentUser.getInstId());
if (rolesService.update(role)) { if (rolesService.update(role)) {
rolesService.refreshDynamicRoles(role); rolesService.refreshDynamicRoles(role);
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS),MessageType.success); return new Message<Roles>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_ERROR),MessageType.error); return new Message<Roles>(Message.FAIL).buildResponse();
} }
} }
@ResponseBody @ResponseBody
@RequestMapping(value={"/delete"}) @RequestMapping(value={"/delete"}, produces = {MediaType.APPLICATION_JSON_VALUE})
public Message delete(@ModelAttribute("role") Roles role) { public ResponseEntity<?> delete(@RequestParam("ids") String ids,@CurrentUser UserInfo currentUser) {
_logger.debug("-delete role :" + role); _logger.debug("-delete ids : {} " , ids);
if (rolesService.deleteById(role.getId())) { if (rolesService.deleteBatch(ids)) {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.success); return new Message<Roles>(Message.SUCCESS).buildResponse();
} else { } else {
return new Message(WebContext.getI18nValue(ConstsOperateMessage.DELETE_SUCCESS),MessageType.error); return new Message<Roles>(Message.FAIL).buildResponse();
} }
} }
......
package org.maxkey.web.permissions.contorller;
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册