Index: forgon-core/src/main/java/com/forgon/security/action/RoleAction.java
===================================================================
diff -u -r15532 -r15545
--- forgon-core/src/main/java/com/forgon/security/action/RoleAction.java (.../RoleAction.java) (revision 15532)
+++ forgon-core/src/main/java/com/forgon/security/action/RoleAction.java (.../RoleAction.java) (revision 15545)
@@ -75,8 +75,12 @@
if (role != null) {
if ((role.getId() == null) || (role.getId() == 0)) {
role.setId(null);
+ roleManager.save(role, role.getParentIds());
+ }else{
+ Role dbRole = roleManager.getById(role.getId() + "");
+ roleManager.save(role, role.getParentIds(),dbRole);
}
- roleManager.save(role, role.getParentIds());
+
StrutsResponseUtils.output(true, "保存成功");
}
}catch(RuntimeException e){
@@ -103,7 +107,12 @@
}
public void prepareSave() {
- iniInfo();
+ role = new Role();
+ Role roleUser = roleManager.getRoleByRoleName("ROLE_USER_0");
+ if (roleUser != null) {
+ role.setParentIds(roleUser.getId().toString());
+ role.setParentNames(roleUser.getDescn());
+ }
}
public Role getRole() {
Index: ssts-web/src/main/resources/spring/serviceContext.xml
===================================================================
diff -u -r12331 -r15545
--- ssts-web/src/main/resources/spring/serviceContext.xml (.../serviceContext.xml) (revision 12331)
+++ ssts-web/src/main/resources/spring/serviceContext.xml (.../serviceContext.xml) (revision 15545)
@@ -5,8 +5,22 @@
http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">
+
+
+
+
+
+
+
+
+ PROPAGATION_REQUIRED
+
+
+
-
+
+
Index: forgon-core/src/main/java/com/forgon/security/service/RoleManager.java
===================================================================
diff -u -r12331 -r15545
--- forgon-core/src/main/java/com/forgon/security/service/RoleManager.java (.../RoleManager.java) (revision 12331)
+++ forgon-core/src/main/java/com/forgon/security/service/RoleManager.java (.../RoleManager.java) (revision 15545)
@@ -33,6 +33,14 @@
public Set getAllInheritanceRoles(Role role);
+ /**
+ * 修改的时候调用的保存方法
+ * @param role 新的数据存储在这个对象中
+ * @param parentIds
+ * @param dbRole 目前数据库中的值
+ */
+ public void save(Role role, String parentIds,Role dbRole);
+
public void save(Role role, String parentIds);
public String getAllInheritanceRoleNamesUnincludeSelf(Role role);
Index: forgon-core/src/main/java/com/forgon/security/service/RoleManagerImpl.java
===================================================================
diff -u -r15532 -r15545
--- forgon-core/src/main/java/com/forgon/security/service/RoleManagerImpl.java (.../RoleManagerImpl.java) (revision 15532)
+++ forgon-core/src/main/java/com/forgon/security/service/RoleManagerImpl.java (.../RoleManagerImpl.java) (revision 15545)
@@ -172,6 +172,18 @@
return new ArrayList(findedRoles.getUsers());
}
+ public void save(Role role, String parentIds,Role dbRole) {
+ if(dbRole == null){
+ save(role,parentIds);
+ }else{
+ dbRole.setDescn(role.getDescn());
+// dbRole.setName(role.getName());
+ dbRole.setUserIds(role.getUserIds());
+ dbRole.setUserNames(role.getUserNames());
+ save(dbRole,parentIds);
+ }
+ }
+
public void save(Role role, String parentIds) {
String simpleName = role.getSimpleName();
if(StringUtils.isNotBlank(simpleName)){