新增配置 user.loginCodeCorpUnique 登录账号租户内唯一

This commit is contained in:
thinkgem
2019-08-19 09:57:11 +08:00
parent fe738cba1a
commit 2a6252eb0b
7 changed files with 16 additions and 13 deletions

View File

@@ -114,6 +114,7 @@ public class CasAuthorizingRealm extends BaseAuthorizingRealm {
// 获取CAS传递过来的用户属性信息
user = new User(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("userCode"))));
user.setLoginCode(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("loginCode"))));
user.setCorpCode_(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("corpCode"))));
user.setPassword(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("password"))));
user.setUserName(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("userName"))));
user.setEmail(EncodeUtils.decodeUrl(ObjectUtils.toString(attrs.get("email"))));
@@ -145,7 +146,7 @@ public class CasAuthorizingRealm extends BaseAuthorizingRealm {
}
// 重新获取用户登录
user = UserUtils.getByLoginCode(token.getUsername()/*, corpCode*/);
user = UserUtils.getByLoginCode(token.getUsername(), user.getCorpCode_());
if (user != null) {
return user;
}

View File

@@ -161,7 +161,8 @@ public class LoginController extends BaseController{
// 非授权异常登录失败验证码加1。
if (!UnauthorizedException.class.getName().equals(exception)){
model.addAttribute("isValidCodeLogin", BaseAuthorizingRealm.isValidCodeLogin(username, (String)paramMap.get("deviceType"), "failed"));
model.addAttribute("isValidCodeLogin", BaseAuthorizingRealm.isValidCodeLogin(username,
(String)paramMap.get("corpCode"), (String)paramMap.get("deviceType"), "failed"));
}
//获取当前会话对象

View File

@@ -114,7 +114,7 @@ public class CorpAdminController extends BaseController {
if (StringUtils.isBlank(user.getCorpCode_())){
return renderResult(Global.FALSE, "租户代码不能为空!");
}
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, user.getLoginCode()/*, user.getCorpCode_()*/))) {
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, user.getLoginCode()))) {
return renderResult(Global.FALSE, "保存用户'" + user.getLoginCode() + "'失败,登录账号已存在");
}
if (user.getIsNewRecord()){
@@ -237,7 +237,7 @@ public class CorpAdminController extends BaseController {
* @param isShowCode 是否显示编码true or 1显示在左侧2显示在右侧false or null不显示
* @return
*/
@RequiresPermissions("user")
//@RequiresPermissions("user") // 注释掉允许配置URI控制权限
@RequestMapping(value = "treeData")
@ResponseBody
public List<Map<String, Object>> treeData(String pId, String isShowCode) {

View File

@@ -155,7 +155,7 @@ public class EmpUserController extends BaseController {
if (!EmpUser.USER_TYPE_EMPLOYEE.equals(empUser.getUserType())){
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
}
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, empUser.getLoginCode()/*, null*/))) {
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, empUser.getLoginCode()))) {
return renderResult(Global.FALSE, text("保存用户失败,登录账号''{0}''已存在", empUser.getLoginCode()));
}
if (StringUtils.inString(op, Global.OP_ADD, Global.OP_EDIT)

View File

@@ -162,6 +162,9 @@ user:
# 多租户模式SAAS模式专业版
useCorpModel: false
# 登录账号是否租户内唯一,否则全局唯一
loginCodeCorpUnique: false
# 自助账号服务
account:
# 注册用户
@@ -375,6 +378,7 @@ shiro:
# ${adminPath}/cms/category/* = anon
# ${adminPath}/cms/article/* = anon
# ${adminPath}/cms/link/* = anon
# ${adminPath}/sys/corpAdmin/treeData = anon
# ${adminPath}/** = user
filterChainDefinitions: |
/ReportServer/** = user

View File

@@ -24,15 +24,12 @@
<#form:input type="password" name="password" class="form-control required"
data-msg-required="${text('请填写登录密码.')}" placeholder="${text('登录密码')}" autocomplete="off"/>
</div>
<%/*<!-- if(@Global.getConfigToBoolean('user.useCorpModel', 'false')){ %>
<% if(@Global.getConfigToBoolean('user.loginCodeCorpUnique', 'false')){ %>
<div class="form-group has-feedback">
<select name="param_corpCode" class="form-control">
<% for(var user in @UserUtils.findCorpList()){ %>
<option value="${user.corpCode}">(${user.corpCode}) ${user.corpName}</option>
<% } %>
</select>
<#form:treeselect id="switchCorpSelect" title="${text('登录租户')}" allowClear="false"
name="param_corpCode" url="${ctx}/sys/corpAdmin/treeData?isShowCode=true" placeholder="${text('登录租户')}"/>
</div>
<% } -->*/%>
<% } %>
<div class="form-group has-feedback" id="isValidCodeLogin" style="display:${isValidCodeLogin?'blank':'none'}">
<#form:validcode name="validCode" isRequired="true" isRemote="true" isLazy="true"/>
</div>