Dao接口增加条件开关注解,增加 user.enabled 开关用户角色菜单相关功能

This commit is contained in:
thinkgem
2022-05-07 14:00:38 +08:00
parent edd04b116b
commit 4154cc5328
31 changed files with 51 additions and 23 deletions

View File

@@ -6,6 +6,7 @@ package com.jeesite.autoconfigure.sys;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -33,6 +34,7 @@ import com.jeesite.modules.sys.service.support.PostServiceSupport;
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnBean(MyBatisFactoryBean.class)
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public class SysAutoConfiguration {
@Bean

View File

@@ -18,6 +18,7 @@ import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSource
import org.apache.shiro.web.filter.InvalidRequestFilter;
import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -52,6 +53,7 @@ import com.jeesite.common.shiro.web.WebSecurityManager;
*/
@SuppressWarnings("deprecation")
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public class ShiroConfig {
/**

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.msg.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.msg.entity.MsgInner;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 内部消息DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.msg.entity.MsgInner;
* @version 2019-03-12
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface MsgInnerDao extends CrudDao<MsgInner> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.msg.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.msg.entity.MsgInnerRecord;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 内部消息发送记录表DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.msg.entity.MsgInnerRecord;
* @version 2019-03-12
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface MsgInnerRecordDao extends CrudDao<MsgInnerRecord> {
/**

View File

@@ -34,7 +34,7 @@ import com.jeesite.modules.msg.service.MsgInnerService;
*/
@Controller
@RequestMapping(value = "${adminPath}/msg/msgInner")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class MsgInnerController extends BaseController {
@Autowired

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.TreeDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Area;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 行政区划DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.Area;
* @version 2017-03-22
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface AreaDao extends TreeDao<Area> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.TreeDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Company;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 公司管理DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.Company;
* @version 2017-03-12
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface CompanyDao extends TreeDao<Company> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.CompanyOffice;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 公司机构DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.CompanyOffice;
* @version 2017-03-23
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface CompanyOfficeDao extends CrudDao<CompanyOffice> {
}

View File

@@ -9,6 +9,7 @@ import java.util.List;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.EmpUser;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 员工管理DAO接口
@@ -16,6 +17,7 @@ import com.jeesite.modules.sys.entity.EmpUser;
* @version 2017-03-25
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface EmpUserDao extends CrudDao<EmpUser> {
/**

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Employee;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 员工管理DAO接口
@@ -16,6 +17,7 @@ import com.jeesite.modules.sys.entity.Employee;
* 但是,在 4.2.0+ 版本中,新增了 userTypeMap 指定 service所以无需设置 entity 类型。
*/
@MyBatisDao(entity = Employee.class)
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface EmployeeDao extends CrudDao<Employee> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.EmployeeOffice;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 员工附属机构关系表DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.EmployeeOffice;
* @version 2019-04-29
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface EmployeeOfficeDao extends CrudDao<EmployeeOffice> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.EmployeePost;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 员工岗位DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.EmployeePost;
* @version 2017-03-25
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface EmployeePostDao extends CrudDao<EmployeePost> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Log;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 日志DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.Log;
* @version 2017-03-19
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface LogDao extends CrudDao<Log> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.TreeDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Office;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 组织机构DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.Office;
* @version 2017-03-23
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface OfficeDao extends TreeDao<Office> {
}

View File

@@ -7,6 +7,7 @@ package com.jeesite.modules.sys.dao;
import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.sys.entity.Post;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
/**
* 岗位管理DAO接口
@@ -14,6 +15,7 @@ import com.jeesite.modules.sys.entity.Post;
* @version 2017-03-25
*/
@MyBatisDao
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public interface PostDao extends CrudDao<Post> {
}

View File

@@ -56,7 +56,7 @@ public class EmpUserServiceSupport extends CrudService<EmpUserDao, EmpUser>
@PostConstruct
private void corpModelValid() throws Exception{
if (Global.isUseCorpModel() != Global.getPropertyToBoolean("user.useCorpModel", "false")){
throw new Exception("\n\nuser.useCorpModel=true? 你开启了多租户模式,乎你的当前版本不是JeeSite专业版。\n");
throw new Exception("\n\nuser.useCorpModel=true? 你开启了多租户模式,乎你的当前版本不是JeeSite专业版。\n");
}
}

View File

@@ -48,9 +48,9 @@ import springfox.documentation.annotations.ApiIgnore;
* @version 2020-9-20
*/
@Controller
@RequestMapping(value = "/account")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@Api(tags = "Account - 账号服务")
@RequestMapping(value = "/account")
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class AccountController extends BaseController{
@Autowired

View File

@@ -41,7 +41,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/area")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class AreaController extends BaseController {
@Autowired

View File

@@ -39,7 +39,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/company")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class CompanyController extends BaseController {
@Autowired

View File

@@ -28,7 +28,7 @@ import com.jeesite.modules.sys.service.LogService;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/log")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class LogController extends BaseController {
@Autowired

View File

@@ -16,6 +16,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.util.WebUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
@@ -43,6 +44,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}")
@ConditionalOnProperty(name="user.enabled", havingValue="true", matchIfMissing=true)
public class LoginController extends BaseController{
/**

View File

@@ -42,7 +42,7 @@ import com.jeesite.modules.sys.web.user.EmpUserController;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/office")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class OfficeController extends BaseController {
@Autowired

View File

@@ -43,7 +43,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/online")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class OnlineController extends BaseController{
@Autowired

View File

@@ -37,7 +37,7 @@ import com.jeesite.modules.sys.service.PostService;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/post")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class PostController extends BaseController {
@Autowired

View File

@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
@@ -31,6 +32,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
* @version 2020-9-19
*/
@Controller
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class SsoController extends BaseController{
/**

View File

@@ -44,7 +44,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/corpAdmin")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class CorpAdminController extends BaseController {
@Autowired

View File

@@ -62,7 +62,7 @@ import com.jeesite.modules.sys.utils.UserUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/empUser")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class EmpUserController extends BaseController {
@Autowired
@@ -197,8 +197,8 @@ public class EmpUserController extends BaseController {
/**
* 验证工号是否有效
* @param oldName
* @param name
* @param oldEmpNo
* @param empNo
* @return
*/
@RequiresPermissions("user")

View File

@@ -36,7 +36,7 @@ import com.jeesite.modules.sys.utils.ModuleUtils;
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/secAdmin")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class SecAdminController extends BaseController {
@Autowired

View File

@@ -37,9 +37,9 @@ import springfox.documentation.annotations.ApiIgnore;
* @version 2017-3-21
*/
@Controller
@RequestMapping(value = "${adminPath}/sys/user")
@ConditionalOnProperty(name="web.core.enabled", havingValue="true", matchIfMissing=true)
@ApiIgnore
@RequestMapping(value = "${adminPath}/sys/user")
@ConditionalOnProperty(name={"user.enabled","web.core.enabled"}, havingValue="true", matchIfMissing=true)
public class UserController extends BaseController {
@Autowired

View File

@@ -122,6 +122,7 @@ page:
# 用户相关
user:
enabled: true
# 指定超级管理员编号(研发团队使用的账号)
superAdminCode: system
@@ -695,11 +696,7 @@ video:
# 将mp4视频的元数据信息转到视频第一帧
qtFaststartFile: d:/tools/video/qt-faststart/qt-faststart.exe
# 文件管理是否启用租户模式
filemanager:
useCorpModel: false
#======================================#
#========== Message settings ==========#
#======================================#