提交 0666384b 编写于 作者: O o2sword

三元管理3

上级 8b3176a2
...@@ -141,8 +141,6 @@ public class TernaryManagement extends ConfigObject { ...@@ -141,8 +141,6 @@ public class TernaryManagement extends ConfigObject {
o.roleList = new ArrayList<>(); o.roleList = new ArrayList<>();
if(isSystemManager(name)){ if(isSystemManager(name)){
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.SystemManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.SystemManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.PersonManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.GroupManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.ProcessPlatformManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.ProcessPlatformManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.MeetingManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.MeetingManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.QueryManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.QueryManager));
...@@ -155,7 +153,6 @@ public class TernaryManagement extends ConfigObject { ...@@ -155,7 +153,6 @@ public class TernaryManagement extends ConfigObject {
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.TeamWorkManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.TeamWorkManager));
}else if(isSecurityManager(name)){ }else if(isSecurityManager(name)){
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.SecurityManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.SecurityManager));
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.OrganizationManager));
}else if(isAuditManager(name)){ }else if(isAuditManager(name)){
o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.AuditManager)); o.roleList.add(OrganizationDefinition.toDistinguishedName(OrganizationDefinition.AuditManager));
} }
......
...@@ -135,6 +135,19 @@ public class EffectivePerson extends GsonPropertyObject { ...@@ -135,6 +135,19 @@ public class EffectivePerson extends GsonPropertyObject {
} }
} }
public boolean isSecurityManager() {
switch (this.tokenType) {
case manager:
return true;
case securityManager:
return true;
case cipher:
return true;
default:
return false;
}
}
public boolean isAnonymous() { public boolean isAnonymous() {
switch (this.tokenType) { switch (this.tokenType) {
case anonymous: case anonymous:
......
...@@ -224,31 +224,6 @@ public class Business { ...@@ -224,31 +224,6 @@ public class Business {
return false; return false;
} }
public boolean editableUnitDuty(EffectivePerson effectivePerson, Unit unit) throws Exception {
if (effectivePerson.isManager()) {
return true;
}
if (this.hasAnyRole(effectivePerson, OrganizationDefinition.Manager, OrganizationDefinition.OrganizationManager,
OrganizationDefinition.UnitManager, OrganizationDefinition.SecurityManager)) {
return true;
}
if (ListTools.isNotEmpty(unit.getControllerList())) {
List<Person> os = this.person().pick(unit.getControllerList());
List<String> list = ListTools.extractProperty(os, JpaObject.DISTINGUISHEDNAME, String.class, true, true);
if (ListTools.contains(list, effectivePerson.getDistinguishedName())) {
return true;
}
}
for (Unit u : unit().pick(unit().listSupNested(unit.getId()))) {
List<Person> os = this.person().pick(u.getControllerList());
List<String> list = ListTools.extractProperty(os, JpaObject.DISTINGUISHEDNAME, String.class, true, true);
if (ListTools.contains(list, effectivePerson.getDistinguishedName())) {
return true;
}
}
return false;
}
public boolean editable(EffectivePerson effectivePerson, Person person) throws Exception { public boolean editable(EffectivePerson effectivePerson, Person person) throws Exception {
if (effectivePerson.isManager()) { if (effectivePerson.isManager()) {
return true; return true;
...@@ -261,7 +236,7 @@ public class Business { ...@@ -261,7 +236,7 @@ public class Business {
} }
public boolean editable(EffectivePerson effectivePerson, Role role) throws Exception { public boolean editable(EffectivePerson effectivePerson, Role role) throws Exception {
if (effectivePerson.isManager()) { if (effectivePerson.isSecurityManager()) {
return true; return true;
} }
if (this.hasAnyRole(effectivePerson, OrganizationDefinition.Manager, OrganizationDefinition.OrganizationManager, if (this.hasAnyRole(effectivePerson, OrganizationDefinition.Manager, OrganizationDefinition.OrganizationManager,
......
...@@ -30,7 +30,7 @@ class ActionCreate extends BaseAction { ...@@ -30,7 +30,7 @@ class ActionCreate extends BaseAction {
if (null == unit) { if (null == unit) {
throw new ExceptionUnitNotExist(wi.getUnit()); throw new ExceptionUnitNotExist(wi.getUnit());
} }
if (!business.editableUnitDuty(effectivePerson, unit)) { if (!business.editable(effectivePerson, unit)) {
throw new ExceptionDenyEditUnit(effectivePerson, unit.getName()); throw new ExceptionDenyEditUnit(effectivePerson, unit.getName());
} }
if (StringUtils.isEmpty(wi.getName())) { if (StringUtils.isEmpty(wi.getName())) {
......
...@@ -26,7 +26,7 @@ class ActionDelete extends BaseAction { ...@@ -26,7 +26,7 @@ class ActionDelete extends BaseAction {
if (null == unit) { if (null == unit) {
throw new ExceptionUnitNotExist(o.getUnit()); throw new ExceptionUnitNotExist(o.getUnit());
} }
if (!business.editableUnitDuty(effectivePerson, unit)) { if (!business.editable(effectivePerson, unit)) {
throw new ExceptionDenyEditUnit(effectivePerson, unit.getName()); throw new ExceptionDenyEditUnit(effectivePerson, unit.getName());
} }
/** pick出来的需要重新取出 */ /** pick出来的需要重新取出 */
......
...@@ -35,7 +35,7 @@ class ActionEdit extends BaseAction { ...@@ -35,7 +35,7 @@ class ActionEdit extends BaseAction {
if (null == unit) { if (null == unit) {
throw new ExceptionUnitNotExist(o.getUnit()); throw new ExceptionUnitNotExist(o.getUnit());
} }
if (!business.editableUnitDuty(effectivePerson, unit)) { if (!business.editable(effectivePerson, unit)) {
throw new ExceptionDenyEditUnit(effectivePerson, unit.getName()); throw new ExceptionDenyEditUnit(effectivePerson, unit.getName());
} }
if (StringUtils.isEmpty(wi.getName())) { if (StringUtils.isEmpty(wi.getName())) {
......
...@@ -37,11 +37,11 @@ public class ActionSetTernaryManagement extends BaseAction { ...@@ -37,11 +37,11 @@ public class ActionSetTernaryManagement extends BaseAction {
Wi.copier.copy(wi, Config.ternaryManagement()); Wi.copier.copy(wi, Config.ternaryManagement());
Config.ternaryManagement().save(); Config.ternaryManagement().save();
this.configFlush(effectivePerson); this.configFlush(effectivePerson);
if(BooleanUtils.isTrue(Config.ternaryManagement().getEnable())){ /*if(BooleanUtils.isTrue(Config.ternaryManagement().getEnable())){
this.saveDefaultRole(); this.saveDefaultRole();
}else{ }else{
this.deleteDefaultRole(); this.deleteDefaultRole();
} }*/
Wo wo = new Wo(); Wo wo = new Wo();
wo.setValue(true); wo.setValue(true);
result.setData(wo); result.setData(wo);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册