diff --git a/src/main/java/com/rekoe/domain/PjAuth.java b/src/main/java/com/rekoe/domain/PjAuth.java index 396e72d..5f2b875 100644 --- a/src/main/java/com/rekoe/domain/PjAuth.java +++ b/src/main/java/com/rekoe/domain/PjAuth.java @@ -3,12 +3,14 @@ package com.rekoe.domain; import java.io.Serializable; import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.PK; import org.nutz.dao.entity.annotation.Table; /** * 权限 */ @Table("pj_auth") +@PK({ "pj", "res", "gr" }) public class PjAuth implements Serializable { /** * diff --git a/src/main/java/com/rekoe/domain/PjGr.java b/src/main/java/com/rekoe/domain/PjGr.java index 962281f..569106e 100644 --- a/src/main/java/com/rekoe/domain/PjGr.java +++ b/src/main/java/com/rekoe/domain/PjGr.java @@ -3,7 +3,7 @@ package com.rekoe.domain; import java.io.Serializable; import org.nutz.dao.entity.annotation.Comment; -import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.PK; import org.nutz.dao.entity.annotation.Table; /** @@ -11,7 +11,8 @@ import org.nutz.dao.entity.annotation.Table; * */ @Table("pj_gr") -public class PjGr implements Serializable{ +@PK({ "pj", "gr" }) +public class PjGr implements Serializable { /** * */ @@ -19,7 +20,7 @@ public class PjGr implements Serializable{ /** * 项目 */ - @Name + @Comment private String pj; /** * 组 diff --git a/src/main/java/com/rekoe/domain/PjGrUsr.java b/src/main/java/com/rekoe/domain/PjGrUsr.java index 7f71b78..ba662ac 100644 --- a/src/main/java/com/rekoe/domain/PjGrUsr.java +++ b/src/main/java/com/rekoe/domain/PjGrUsr.java @@ -3,13 +3,18 @@ package com.rekoe.domain; import java.io.Serializable; import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Index; import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.PK; import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableIndexes; /** * 项目组用户 */ @Table("pj_gr_usr") +@PK({ "pj", "usr", "gr" }) +@TableIndexes({ @Index(name = "FK_Reference_10", fields = { "pj", "gr" }, unique = false), @Index(name = "FK_Reference_9", fields = { "usr" }, unique = false) }) public class PjGrUsr implements Serializable { /** * diff --git a/src/main/java/com/rekoe/domain/PjUsr.java b/src/main/java/com/rekoe/domain/PjUsr.java index 84a8b08..6e381f4 100644 --- a/src/main/java/com/rekoe/domain/PjUsr.java +++ b/src/main/java/com/rekoe/domain/PjUsr.java @@ -1,12 +1,17 @@ package com.rekoe.domain; -import org.nutz.dao.entity.annotation.Name; +import org.nutz.dao.entity.annotation.Column; +import org.nutz.dao.entity.annotation.Index; +import org.nutz.dao.entity.annotation.PK; import org.nutz.dao.entity.annotation.Table; +import org.nutz.dao.entity.annotation.TableIndexes; /** * 项目用户 。只对单库方式有用,包括svn协议和http协议(单库),可以每个项目设置用户的密码 */ @Table("pj_usr") +@PK({ "usr", "pj" }) +@TableIndexes({ @Index(name = "FK_Reference_5", fields = { "pj" }, unique = false) }) public class PjUsr extends Usr { /** * @@ -15,7 +20,7 @@ public class PjUsr extends Usr { /** * 项目ID */ - @Name + @Column private String pj; /** diff --git a/src/main/java/com/rekoe/domain/Usr.java b/src/main/java/com/rekoe/domain/Usr.java index 12ab031..808646b 100644 --- a/src/main/java/com/rekoe/domain/Usr.java +++ b/src/main/java/com/rekoe/domain/Usr.java @@ -3,6 +3,7 @@ package com.rekoe.domain; import java.io.Serializable; import org.nutz.dao.entity.annotation.Comment; +import org.nutz.dao.entity.annotation.Name; import org.nutz.dao.entity.annotation.Table; /** @@ -19,7 +20,7 @@ public class Usr implements Serializable { /** * 用户ID */ - @Comment + @Name private String usr; /** * 用户姓名 diff --git a/src/main/resources/init_system_h2.sql b/src/main/resources/init_system_h2.sql index c9b2c05..be61789 100644 --- a/src/main/resources/init_system_h2.sql +++ b/src/main/resources/init_system_h2.sql @@ -13,4 +13,20 @@ INSERT INTO system_user_role(USERID,ROLEID) VALUES (1,1); /* .system_role_permission */ INSERT INTO system_role_permission(ROLEID,PERMISSIONID) VALUES -(1,1) \ No newline at end of file +(1,1) +/*.svnadmin alter*/ +alter table pj_gr add constraint FK_Relationship_2 foreign key (pj) references pj (pj) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_gr_auth add constraint FK_Reference_6 foreign key (pj, gr) references pj_gr (pj, gr) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_gr_usr add constraint FK_Reference_10 foreign key (pj, gr) references pj_gr (pj, gr) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_gr_usr add constraint FK_Reference_9 foreign key (usr) references usr (usr) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_usr add constraint FK_Reference_5 foreign key (pj) references pj (pj) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_usr add constraint FK_Reference_7 foreign key (usr) references usr (usr) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_usr_auth add constraint FK_Reference_11 foreign key (pj) references pj (pj) on delete restrict on update restrict; +/*.svnadmin alter*/ +alter table pj_usr_auth add constraint FK_Reference_8 foreign key (usr) references usr (usr) on delete restrict on update restrict; \ No newline at end of file diff --git a/src/main/resources/ioc/freemarker_tags.js b/src/main/resources/ioc/freemarker_tags.js index 0112fdd..79331d7 100644 --- a/src/main/resources/ioc/freemarker_tags.js +++ b/src/main/resources/ioc/freemarker_tags.js @@ -1,22 +1,10 @@ var ioc = { - platformEditDirective : { - type : "com.rekoe.web.freemarker.PlatformEditDirective", - events : { - create : "init", - } - }, shiroTags : { type : "com.rekoe.shiro.freemarker.ShiroTags" }, permissionResolver : { type : "org.apache.shiro.authz.permission.WildcardPermissionResolver" }, - sidName : { - type : "com.rekoe.web.freemarker.Sid2NameDirective", - args : [ { - refer : "officialServerService" - } ] - }, permissionShiro : { type : "com.rekoe.web.freemarker.PermissionShiroFreemarker", args : [ { @@ -41,21 +29,12 @@ var ioc = { timeFormat : { type : "com.rekoe.web.freemarker.TimeFormatDirective" }, - platformPermission : { - type : "com.rekoe.web.freemarker.PlatformPermissionDirective" - }, mapTags : { factory : "$freeMarkerConfigurer#addTags", args : [ { 'shiro' : { refer : 'shiroTags' }, - 'sid_name' : { - refer : 'sidName' - }, - 'platform_perm' : { - refer : 'platformPermission' - }, 'perm_chow' : { refer : 'permissionShiro' }, @@ -76,9 +55,6 @@ var ioc = { }, 'currentTime' : { refer : 'currentTime' - }, - 'platform_edit' : { - refer : 'platformEditDirective' } } ] } diff --git a/src/main/resources/shiro.ini b/src/main/resources/shiro.ini index 2d825da..8237a80 100644 --- a/src/main/resources/shiro.ini +++ b/src/main/resources/shiro.ini @@ -33,9 +33,8 @@ sha256Matcher.storedCredentialsHexEncoded = false sha256Matcher.hashIterations = 1024 sha256Matcher.hashSalted = true nutzAuthoRealm = com.rekoe.shiro.realm.NutAuthoDaoRealm -authTokenRealm = com.rekoe.shiro.realm.AuthTokenRealm shiroDbRealm = com.rekoe.shiro.realm.UsernamePasswordRealm shiroDbRealm.credentialsMatcher = $sha256Matcher -securityManager.realms = $shiroDbRealm,$nutzAuthoRealm,$authTokenRealm +securityManager.realms = $shiroDbRealm,$nutzAuthoRealm authcStrategy = com.rekoe.shiro.authc.pam.AnySuccessfulStrategy securityManager.authenticator.authenticationStrategy = $authcStrategy \ No newline at end of file