From 1b2f924f7ec2f1fdfbffa14cc345e66facd1839c Mon Sep 17 00:00:00 2001 From: shimingxy Date: Wed, 27 Nov 2019 23:22:02 +0800 Subject: [PATCH] RC1 RC1 --- .../mybatis/jpa/test/AppsServiceTest.java | 81 ++++++++++++++++++ maxkey-lib/other/mybatis-jpa-extra-1.0.jar | Bin 62184 -> 67799 bytes .../other/mybatis-jpa-extra-2.1-api-1.0.jar | Bin 6919 -> 6939 bytes .../bin/main/.gitignore | 2 + .../maxkey-protocol-cas/bin/main/.gitignore | 2 + .../maxkey-protocol-cas/bin/test/.gitignore | 1 + .../maxkey-protocol-cas-1.0.0.RELEASE.jar | Bin 44329 -> 44329 bytes .../build/reports/tests/test/index.html | 2 +- .../build/tmp/jar/MANIFEST.MF | 2 +- .../bin/main/.gitignore | 2 + .../maxkey-protocol-desktop-1.0.0.RELEASE.jar | Bin 7345 -> 7346 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- .../bin/main/.gitignore | 2 + ...axkey-protocol-extendapi-1.0.0.RELEASE.jar | Bin 4882 -> 4882 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- .../bin/main/.gitignore | 2 + ...axkey-protocol-formbased-1.0.0.RELEASE.jar | Bin 9226 -> 9226 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- .../bin/main/.gitignore | 2 + ...axkey-protocol-oauth-2.0-1.0.0.RELEASE.jar | Bin 248836 -> 248835 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- .../bin/main/.gitignore | 2 + ...maxkey-protocol-saml-2.0-1.0.0.RELEASE.jar | Bin 84975 -> 84975 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- ...xkey-protocol-tokenbased-1.0.0.RELEASE.jar | Bin 12990 -> 12990 bytes .../build/tmp/jar/MANIFEST.MF | 2 +- maxkey-web-manage/.project | 6 +- .../java/org/maxkey/MaxKeyMgtApplication.java | 4 +- .../src/main/resources/log4j2.xml | 2 +- .../resources/messages/message.properties | 1 + .../views/accounts/appAccountsAdd.ftl | 8 +- .../views/accounts/appAccountsList.ftl | 2 +- .../templates/views/apps/appsList.ftl | 33 +++---- .../templates/views/apps/basic/appAdd.ftl | 4 +- .../templates/views/apps/basic/appUpdate.ftl | 4 +- .../templates/views/apps/cas/appAdd.ftl | 4 +- .../templates/views/apps/cas/appUpdate.ftl | 4 +- .../templates/views/apps/desktop/appAdd.ftl | 4 +- .../views/apps/desktop/appUpdate.ftl | 4 +- .../templates/views/apps/extendapi/appAdd.ftl | 4 +- .../views/apps/extendapi/appUpdate.ftl | 4 +- .../templates/views/apps/formbased/appAdd.ftl | 4 +- .../views/apps/formbased/appUpdate.ftl | 4 +- .../templates/views/apps/oauth20/appAdd.ftl | 4 +- .../views/apps/oauth20/appUpdate.ftl | 4 +- .../templates/views/apps/saml20/appAdd.ftl | 4 +- .../templates/views/apps/saml20/appUpdate.ftl | 4 +- .../templates/views/apps/selectAppsList.ftl | 4 +- .../views/apps/tokenbased/appAdd.ftl | 4 +- .../views/apps/tokenbased/appUpdate.ftl | 4 +- .../config/passwordpolicy/passwordpolicy.ftl | 2 +- .../views/groupapp/addGroupAppsList.ftl | 6 +- .../views/groupapp/groupAppsList.ftl | 20 ++--- .../templates/views/groups/groupAdd.ftl | 5 +- .../templates/views/groups/groupUpdate.ftl | 11 ++- .../templates/views/groups/groupsList.ftl | 10 +-- .../views/groups/selectGroupsList.ftl | 8 +- .../views/groupuser/addGroupUsersList.ftl | 6 +- .../views/groupuser/groupUsersList.ftl | 21 ++--- .../views/logs/loginAppsHistoryList.ftl | 2 +- .../templates/views/logs/loginHistoryList.ftl | 2 +- .../templates/views/logs/logsList.ftl | 2 +- .../main/resources/templates/views/main.ftl | 2 +- .../templates/views/orgs/orgsList.ftl | 2 +- .../views/userinfo/userinfoSelect.ftl | 2 +- .../templates/views/userinfo/usersList.ftl | 2 +- 66 files changed, 219 insertions(+), 120 deletions(-) create mode 100644 maxkey-dao/src/test/java/org/apache/mybatis/jpa/test/AppsServiceTest.java create mode 100644 maxkey-protocols/maxkey-protocol-authorize/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore create mode 100644 maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore diff --git a/maxkey-dao/src/test/java/org/apache/mybatis/jpa/test/AppsServiceTest.java b/maxkey-dao/src/test/java/org/apache/mybatis/jpa/test/AppsServiceTest.java new file mode 100644 index 00000000..cb77b7b3 --- /dev/null +++ b/maxkey-dao/src/test/java/org/apache/mybatis/jpa/test/AppsServiceTest.java @@ -0,0 +1,81 @@ +package org.apache.mybatis.jpa.test; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.apache.mybatis.jpa.util.WebContext; +import org.junit.Before; +import org.junit.Test; +import org.maxkey.dao.service.AccountsService; +import org.maxkey.dao.service.AppsFormBasedDetailsService; +import org.maxkey.dao.service.AppsService; +import org.maxkey.domain.Accounts; +import org.maxkey.domain.apps.Apps; +import org.maxkey.domain.apps.AppsFormBasedDetails; +import org.maxkey.util.PathUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class AppsServiceTest { + + private static final Logger _logger = LoggerFactory.getLogger(AppsServiceTest.class); + + public static ApplicationContext context; + + public static AppsService service; + + public AppsService getservice() { + service=(AppsService)WebContext.getBean("appsService"); + return service; + } + + + @Test + public void get() throws Exception{ + _logger.info("get..."); + Apps a=new Apps(); + a.setPageNumber(2); + a.setPageSize(10); + ; + getservice().queryPageResults(a); + // _logger.info("apps "+); + + } + + + + @Before + public void initSpringContext(){ + if(context!=null) return; + _logger.info("init Spring Context..."); + SimpleDateFormat sdf_ymdhms =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String startTime=sdf_ymdhms.format(new Date()); + + try{ + AppsServiceTest runner=new AppsServiceTest(); + runner.init(); + + }catch(Exception e){ + e.printStackTrace(); + } + + _logger.info("-- --Init Start at " + startTime+" , End at "+sdf_ymdhms.format(new Date())); + } + + //Initialization ApplicationContext for Project + public void init(){ + _logger.info("init ..."); + + _logger.info("Application dir "+System.getProperty("user.dir")); + context = new ClassPathXmlApplicationContext(new String[] {"spring/applicationContext.xml"}); + WebContext.applicationContext=context; + getservice(); + System.out.println("init ..."); + + } + +} diff --git a/maxkey-lib/other/mybatis-jpa-extra-1.0.jar b/maxkey-lib/other/mybatis-jpa-extra-1.0.jar index 2566c7eba7ce06af55e5fd7165fcb2cfba7ad4c9..9d0a3867eed342e95bf931dfc1567691ba9e2c20 100644 GIT binary patch delta 20011 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 Q;sTQZg)}d|-hcXk0N|r-p8x;= delta 14723 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 B4W2tW5hLe{aZ7^Vg$Wr_ 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 literal 6919 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 diff --git a/maxkey-protocols/maxkey-protocol-authorize/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-authorize/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-authorize/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore b/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore new file mode 100644 index 00000000..c2d9872a --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore @@ -0,0 +1 @@ +/com/ diff --git a/maxkey-protocols/maxkey-protocol-cas/build/libs/maxkey-protocol-cas-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-cas/build/libs/maxkey-protocol-cas-1.0.0.RELEASE.jar index 7ae5bd6af6ab9370a49c367ada727832abd35ab5..b2482d23d93691309c04b639e1c61a70e617f824 100644 GIT binary patch delta 1243 zcmY+Ddq`7Z7{6{u}whSu^D~v?5C@Qu|1%+My=uR0aZSNaJ=a2Jyp7*@p^S$RBKC6Rcb#VM7 zDJ<8Q5FU>V+so8`;XF6Q^M!3fb#&A{WOpkPst^R?^tNW~ImklL7jygyq1$=G_&(Oq|GK=4AMIop?bZ!qq=Bt~Aj zcFWkYbpGK7g~JU8dm=}xK6~dd{&9UjYKzkDd=(xI3DyLUrKcu#HPo6$ACi~?QPE|u zk|ZjV+2dG6L2^5hDcdV&(%)%;G?IT}<2;$8&REv#2^j5WtfE6Zo8X&k9>6=glM#BHj>+ zK!2?dR62t*c_6rR9(#KPbxrkcj6Sw(;W!uivm={O{92UB z@%PM=!Hnx4`Vitbh4zWVJl&LU3b9$EoUj$GS``N?2Upo~h{}X04pgotZu0^mSf{~C zxA+_bm3*lMEBy5LSeeMU1cKVKQejX-L48dKOGtnhArjh`wU}C31h%{l;VdN7=BRK` z-c~j4Ym_~~D8+UM0}-LstWL@hGT{E6Du{5&=F;Qlxi*(P2YXlSyo-Zy_bkQWmBj)0 zC~faN6#GkJQCuwzL~&p70tCINOonMDlsb&j9~l254(8%m6G!54(1a=%3tzM%=R)dJ z_us8xXt6Yc@~u4jv12M#)V%a$(T%kqATy=zGA?8_T+H-6>A?L*PlYqA`&dxEHtO&3 zpsCsw5KygM0KBGM2K=gB30$IE4cw;V-qiYj*dza!jWyvpA delta 1243 zcmY+DdrVSc7{7- zqG%+cwJxaZI?J`%T=%qiKWM;@HZuk{!5JV-liRLN>%C+>_J)-yeL;kU%!;?iWA5q#_QqM`Sq71`GY`mPI~ zMnsk+{`_$A9Iy9T^qa5(M)6#eP;@w6o42rM`RGNl4?6EJuH2h-3F(V5eR5Sqan*YH-2|z~r%Pr& zRoL;VDEm=v-2Q7Wp}XJp`O4$ll@h@wQMyB$aYv<`E8cTI$=MpNW!!_8tB;2KcOW{R z5wM;UQ4up4n9oE5P0Y+7?@5X0;&^YKD~#4k1c5C1KY`B?dso;MoVPw8M7&!lf&%ou zP-zcQ@IY`UJRIs3)Hz84@zrVFr<`0u)(t0Qfj6FpHTc?X3nJ6W`SLuC1fF?N>zq~@>bR2 zz73kk7^TZ|Fc2~E0Bevjg!FpeXBkBFYa;1>OQgMjtqObRt-pbTa0_N*@chC+e3V)= z3B~5(1t>0*1fjUCdjW!;DP02743-)&rhbe2uh_mC#~R!%#z7_f`dN6R<*L&uPds0@ zoS}uXsg!Ty(T{DxR989R&7v!+K0v0lx)T?&bzIE!JLtgu-y9O+{(ODRzu$wV=;uMe z0sS=KMg1J$7yW$TEJFftlOY+{V~_zy*K2|0^%~&2zmy$8fBuLX>fy#^z!Kv+;DE6h znAxxq*xOJ5j5VbLYfQPouci$^O(XU@8_`Rfu>Vq1K0KdlUJKNlR|9{UmB1CvTY*oS zw*eI`JJ7cnfx4q6;3$g)c*#-$6d%L6x{j5Ak7`A4ZqNS@E1dtXbgY$FcwB p@gndd8?NiHm4Tn$RtU7T;oKwJbHEq3=K-I!W4`=EHu#Pcx<73wFZlof diff --git a/maxkey-protocols/maxkey-protocol-cas/build/reports/tests/test/index.html b/maxkey-protocols/maxkey-protocol-cas/build/reports/tests/test/index.html index bb47baae..2bc82560 100644 --- a/maxkey-protocols/maxkey-protocol-cas/build/reports/tests/test/index.html +++ b/maxkey-protocols/maxkey-protocol-cas/build/reports/tests/test/index.html @@ -85,7 +85,7 @@ Generated by -Gradle 5.4.1 at 2019-11-10 12:36:07

+Gradle 5.4.1 at 2019-11-27 22:38:38

diff --git a/maxkey-protocols/maxkey-protocol-cas/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-cas/build/tmp/jar/MANIFEST.MF index 2068d6bb..1e44d84e 100644 --- a/maxkey-protocols/maxkey-protocol-cas/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-cas/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-cas Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.516+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.726+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-desktop/build/libs/maxkey-protocol-desktop-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-desktop/build/libs/maxkey-protocol-desktop-1.0.0.RELEASE.jar index 3b6b2918ea859cebc0202a95d8de24077a585561..85806f751370d42f609e9297fb8c996b0e5fc743 100644 GIT binary patch delta 610 zcmdmJxyh0@z?+$ci-CcIgW>#^>WRE+oIuJyqHSr%j)^vk_14^n3?y8?JNPxmC`MF(n9fi=>-?2`BOJ+75XLS9<6^owAGB+f6n^L@0Z&1=RCFX7jY1`IJTAT z>#pVe=>-9|GNQjT>$%kb$a(w%$y3|6R8N*?RAdIx&WsvhI*(BgOwVUD1JgGc?ZLDZ zlRJpsoWi8d0cK3%Qh_jb3iYxv0|REVr=$rYfF`#|S_T3&_%i?j6Nmr;76=6-1sL8s z3Ntb= z*1>0@5{ijuKpIr=YS2Q_z{dpCpflM=8e(a*v@}x$NXU5dYH0XyoQb?@oIuKd{)$D*wokNCtas#YGLSj?zUltK>NB}q zLAxU>J3dXiq-v!ToA<)(=D)_e-#vPcAM^U}|NiKecg4BFLHyyKO>M3wYKa9G9xH4y zIFP6rxHdsR=Tgn9qdjiv2hGYH)_$ak`iGWnW{xpCvWWdkemk~Bet&*XMV%Ro?QF#rJ*hyVf>2n8es7~VPxF)}dZ z7p3b5cr!AIFvEixMF%&E4ztOEQc_^M^rWO26DMDg5}6z)#RC?}1&T}pipXf=GfxS{ zywgDShVtmH)Iw3iJ6S>65^O_^v@~Nlkf%F&0h9FP1JV$C&r3@)wQ@~Xl-2DNsyrcXhFhK diff --git a/maxkey-protocols/maxkey-protocol-desktop/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-desktop/build/tmp/jar/MANIFEST.MF index cecd2dd3..35e96e1c 100644 --- a/maxkey-protocols/maxkey-protocol-desktop/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-desktop/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-desktop Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.610+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.726+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-extendapi/build/libs/maxkey-protocol-extendapi-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-extendapi/build/libs/maxkey-protocol-extendapi-1.0.0.RELEASE.jar index 6f36c549babcb20686ac2a46fc99d8a3a95e7b71..7da4a6d43f18d9be6839b8564c19959ddc9681f9 100644 GIT binary patch delta 392 zcmbQFHc5>)z?+$ci-CcIgW>#^>WRE+96-wd`KERECR*#(E4)^2-Er&E73a)NCJVh^ zeh}Ip)gLu!V%))h-%C#fdF;IXblzcGhXwj)bnY3Zb{!1c6_)z((Q!swHnupgLM6Ei zVRFmz=Nz4(blh8p#jj^!^Tc-z`?sm)zuk9N?)L7R#vc}$df9WWZM`|CXXEQ*ua@1j znK3nMO_2O;ABBECr}quEcBhl37c8{;XmVR?*}i>qe?516k+f-QvfSpWo7BtfpZ^lt zd#2B(wQkl^#%0&Fqs8_kJhNj<^<))BMP?A~!KeYIiy8I6^b$rBFnycR7EDVsxq|4; z$xLV11%V9z(p9asEvyU-tvn124wDO+lqcU2QrO(gHG!2G7&?>11We$eG&xAX3T#Nf nfIgT$C}0Mre+k%tX-h#TFkL6;4W`cs27_rOp$afPSEv*KgKVy~ delta 392 zcmbQFHc5>)z?+$ci-CcIgW<}KoQb?@96-unuAk@OL~Gr8rPqfAgmN=qFWeG0>w;=Z zMQ{9Cciod7>l6O}-j$-Ma_4Q)`G;i!FSw1n`F&<4ZJ4?)G;+_6Oqc$~#_K^co$gzv zw*QnCH(Yw+qmX-}aq^4AMbZ!U=bo+peeE6p+p}*ZE3Qf{EqBUZc=n=6Snit4SG|G! zS=m#q-WoUBSa38mTiH%O8hmK#tD}#TR?lerRrTsz^M&In+Q)5DwVyh?sk3|S{l&=o zlSo_TMAvJOiFrj#6vI?UjGtf7aJs35>bTOkIm|ntY0;X>>+Jb3mCRY%>IhpAU zyCBH>rK?(NTUZ$wT6q{493~esDNnv5q_DY}YXU1+y_kRrJd`E}30Q#z`vvsD^g#hL gF#Suw225KDI)UjrL2od9MlcvmD+yJA>A6Cs01D-*%>V!Z diff --git a/maxkey-protocols/maxkey-protocol-extendapi/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-extendapi/build/tmp/jar/MANIFEST.MF index 050abef6..efe95c22 100644 --- a/maxkey-protocols/maxkey-protocol-extendapi/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-extendapi/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-extendapi Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.620+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.742+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-formbased/build/libs/maxkey-protocol-formbased-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-formbased/build/libs/maxkey-protocol-formbased-1.0.0.RELEASE.jar index 3a92fff894c5e10c2930dd58104ceb0dd8454f98..f28057f613cee8c48c993cae18d8fab85920b5c4 100644 GIT binary patch delta 429 zcmeD3=d$|r7NVtA?y1#JulAnPa z(mpS5UeVpvZBcXU2FvUvD)TSw+bb&WxbybYd57;d8kdVsoDIZIF8+Sa@2 zl;VScNsAAjgr;GS}R0dviM1(te8lX3+-=M0?J2Ja_Tw zcREq1SUJ&OJ?RM7$s3ifa=aIs*}}68rkg~vnFfePelhyI@SOefe>MeE`He1j^<+gxMP?A~%BTUR3mEml^g>1pFnx#7 z5lkyEd4lN8IZXC!V8%L*CoEvbR9=1vW4Yjah}2ApcWlhSpqktzZvqdp$;afaz$P&( z=!0of1v4<6r(gr7*DAPy>2C`DVA?}59851#ECJJ!N;P15hEg4buUrbICn{G00J+V< AtN;K2 delta 429 zcmeD3=Cd$)8+;k^)nl)ub1x0lIuJ8!fSwco7!V98mDc%gHg=g&pz z-H1u4v^syYN0%k}x@+hK2Y;@d)eiR`WjucBay7-a>&Q>DzjJnZ8R)CYu8bOBx`0s+OfO`#0MmCE9l^8$ zlP8GYoWo?#24<||c)|i^Oy%W=FqR9xhe*wocn4-o?vgiw2ifFf@>XDzm=*NFw5fs_ tn9ftM0n=+0+`#lV1%EK@p%@OP7b%v2X-TCTFg-)54#HP11=ACiD*>4LyYT=3 diff --git a/maxkey-protocols/maxkey-protocol-formbased/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-formbased/build/tmp/jar/MANIFEST.MF index 088c1547..69bcb90c 100644 --- a/maxkey-protocols/maxkey-protocol-formbased/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-formbased/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-formbased Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.630+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.742+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/build/libs/maxkey-protocol-oauth-2.0-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-oauth-2.0/build/libs/maxkey-protocol-oauth-2.0-1.0.0.RELEASE.jar index 112af08dc6d07f7502b6d53a795c29f938529402..1f1bb4054e3c539e926822edf7b036ed04b1139f 100644 GIT binary patch delta 9615 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 diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-oauth-2.0/build/tmp/jar/MANIFEST.MF index 5290265b..178c16e5 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-oauth-2.0 Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.644+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.742+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore new file mode 100644 index 00000000..59d60644 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/org/ diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/build/libs/maxkey-protocol-saml-2.0-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-saml-2.0/build/libs/maxkey-protocol-saml-2.0-1.0.0.RELEASE.jar index bb0c901162eb9256ed79c340d8149df4436c60f3..0eac63ea8ee88ebb58b10c8887b9a353847f5c56 100644 GIT binary patch delta 1511 zcmZXTZA@Eb6vyvr3$&Edz*s=qflC-d##U?J=nIs#w51e7Wpl#~920dyp-Q4=gD5Nx z#RU@BC0vClY$nshVLHoFX0k*QVw^V7Ov(qdk!>G_A5@6QhbB(#{ogwm^+R)h_dMsE z|2gOBv%zI-a2cvlP%6u27`dGJW?^7LRW47P=8aX~r3t%El6QHcr~T0K?-ggXh35)W zueOY~?taAn-AB~_{q1hmy>sQ?&b^%+tLlG067q2THYRxYUu%)zH%3BXrz(#04>?|2zlVruNao#-jHXtTUlt+n0pwo}~}75v59~g~FvPv%(xpx7|3&yfY|l zVC1KLLdfD~LdbsSeh$_apCX!(VYrJy=~^iL&+#kS@%a+&@dnC`hchW6#NEuMBPhns zg(`QP?CsJ0=hEV@jt#QS#Aeh_z|ko0^j+-e~i0jeUZ;UWHH5hYMCu6>lc(N+B2 zDpKOAKIU{JlcpaSH*Fx}KQE12HINNub{I(q@EXYsc+*G@z%?Ve0A!*DK$D4{1 zt*8#sp;}S&TCFI$*GVrSddf+ifIpnn1~^(LmR_zCD?a8Dw=nFY7anLd0UT~R2w>gR z4%l+jNkCfpX~0(=>H(PQsT**io?ZqNcqs%p;T8M2;iW!!d_FPjijR8X+2a>)Wx_AE zk@7#>f`)sefvOOAsX-h?84xFk1jvb_Xn^nvxa|N1;qf$z#XfBmixmXLHctmB@;9@^ BP%;1j delta 1511 zcmZXTZA@Er6vpqN1zHL;W1V2jKr=Q+*jAgqztfhsw8gA$bDJA%Oq^S3S4NCF;>%c+ z$OuaySGjX!j_rdpQIfhVY4?FdB3U%)Vw|uK28>&b7^8u>@B!o0-sj$FrXQN~yXSw- zd7ksXy~|wjGFMy?kICd^45Lsmw{oe`iYcZV-7ea*O!pPVXrF~S~=fBtjmk?H(vAKv@ws#m>mv-G{htR)&vzWICK&8D8j z+zsu%SKN!fY+uheKNLTt#n#i~vVs^Jpsk2$+JSh9jEM8(SSOfiT3wqvQp7Ny${EJU z9_g&%`ps0w?=4Ce33dFed|Zygsq4G_`9k4*3B%ZhLiVIa!H+0^E22S!Gzf+1KQBAfOs&cIp!z#}Vwp)o|RtmrEQ2oqGHGIF;N202(8^9VinvqCs z+zLNzd!~_Fagb6iV;)+VpRa#b4h=&?7%i_hq&Fb(i#>>h$>9)p>U9mH^qTKmQEt)S zAfCvBGos@!+U8|wo`~BK7vg!ufV#e{>7`o!a_451FoFLv>8u5m4%R9FTSoLE>_6Wq!dnx6LXIDpoO^H&9_U}p zgb;ts>_o5alO;70g0akfCF{*A*^U{pJ2mru8LBGsYH@J=+$C|3neY8LDYdXmAu&f_Wg2PTXu|ST#n^Fh{?W-7ydb66+1Fn$359fmDyworNz31GCF`^>_ohA z{izcv{eNCs_N6LX!#>&G4YUKqU8yF6V1>I~O(sA^4Y>u#K2<|`49wO(M%{3gJ-dxm zcvV+9JwcbdU?kH&UmADYNDhoyZz4S)Xd(;X4HLNl(LVTZmrYvIXs2UHrvrs_&MtXf zwNn!5E(h%fTz61Ez~!VqK+Z|00S=esb=*bI37IiBy?~R1o5BFzO`QO!8$6OaMEgCG z=(I-?ZSvA_RF8S73-E`R+5rcfrO~s^(!?ix(k%@5=;#BDHh{}ddjPDTIso_lbP7;V zeg<$OKq-K^g}MP(TBrx02~r$zEGYT86{KEdLLsSZDnuuc*&LSM%4k@!u@?UK7IfU} tt+Wk=AGb=Ys3Ot^=?Hmol!*|&0&X=zF=PT!Y1l_mX_zJ^**p`Y^xynfR>lAT diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/build/tmp/jar/MANIFEST.MF b/maxkey-protocols/maxkey-protocol-saml-2.0/build/tmp/jar/MANIFEST.MF index fabdab16..f78f5016 100644 --- a/maxkey-protocols/maxkey-protocol-saml-2.0/build/tmp/jar/MANIFEST.MF +++ b/maxkey-protocols/maxkey-protocol-saml-2.0/build/tmp/jar/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Implementation-Title: maxkey-protocol-saml-2.0 Implementation-Version: 1.0.0.RELEASE -Implementation-Date: 2019-11-12T23:06:23.653+08:00[Asia/Shanghai] +Implementation-Date: 2019-11-27T22:38:18.758+08:00[Asia/Shanghai] Created-By: org.maxkey Implementation-Vendor: https://github.com/shimingxy/MaxKey diff --git a/maxkey-protocols/maxkey-protocol-tokenbased/build/libs/maxkey-protocol-tokenbased-1.0.0.RELEASE.jar b/maxkey-protocols/maxkey-protocol-tokenbased/build/libs/maxkey-protocol-tokenbased-1.0.0.RELEASE.jar index 8e1e91b6cc50b062f7723114176be6b93a4df73b..be2416a24572058cf4402e99d2e34ac465401b71 100644 GIT binary patch delta 433 zcmdm&x-XSCz?+$ci-CcIgW>#^>WRE+96-wdQP$(56Rnl%H|8}Ph`5%k{A;u|+SaMH z!hDiJi0?F((v?C)ZTaBb4oHn)(Ot(6B_eGg9F|8wF*`3td%N#9-mTwQBvetg+J6aUT37hdVM)T9P& zT9ni6l&h_}dQZ(tvqhdkPBqsqGVISN*vs~Ls@m@c?W-H_E;5q;_2>Ild;XZ`&8JK* ziikentN6F}Z2rAZD|$`W%@?n0`uVrrcQQM|V>`A~PgZ4AWCqcmj2d9Ngi#MnFJ&|V z({~tc!L$sMD~R5l!lcdtX7q7&aDo|4ce!ZuAYqR^Omzh_ydEN6m!901= z$yKYfRHZ_%re2njJF?hQ=+R>d-Vfbu=2-^wE5C^t1TtIauKJLu^FQuxmaxkey-web-manage maxkey-web-manage - maxkey-protocol-oauth-2.0 maxkey-protocol-authorize - maxkey-protocol-saml-2.0 - maxkey-dao maxkey-core maxkey-jose-jwt + maxkey-dao maxkey-client-sdk + maxkey-protocol-oauth-2.0 + maxkey-protocol-saml-2.0 diff --git a/maxkey-web-manage/src/main/java/org/maxkey/MaxKeyMgtApplication.java b/maxkey-web-manage/src/main/java/org/maxkey/MaxKeyMgtApplication.java index a14390c0..987bdab9 100644 --- a/maxkey-web-manage/src/main/java/org/maxkey/MaxKeyMgtApplication.java +++ b/maxkey-web-manage/src/main/java/org/maxkey/MaxKeyMgtApplication.java @@ -1,6 +1,7 @@ package org.maxkey; +import java.io.File; import java.util.Date; import javax.servlet.ServletException; @@ -33,9 +34,10 @@ public class MaxKeyMgtApplication extends SpringBootServletInitializer { } public static void main(String[] args) { - ConfigurableApplicationContext applicationContext =SpringApplication.run(MaxKeyMgtApplication.class, args); InitApplicationContext initWebContext=new InitApplicationContext(applicationContext); + + try { initWebContext.init(null); } catch (ServletException e) { diff --git a/maxkey-web-manage/src/main/resources/log4j2.xml b/maxkey-web-manage/src/main/resources/log4j2.xml index 1f3a1cea..09399541 100644 --- a/maxkey-web-manage/src/main/resources/log4j2.xml +++ b/maxkey-web-manage/src/main/resources/log4j2.xml @@ -24,7 +24,7 @@ - + diff --git a/maxkey-web-manage/src/main/resources/messages/message.properties b/maxkey-web-manage/src/main/resources/messages/message.properties index e8adaef8..3f41a064 100644 --- a/maxkey-web-manage/src/main/resources/messages/message.properties +++ b/maxkey-web-manage/src/main/resources/messages/message.properties @@ -366,6 +366,7 @@ apps.oauth.connect.idTokenEncryptionMethod=idToken\u52A0\u5BC6\u65B9\u6CD5 apps.oauth.connect.userInfoEncryptionMethod=\u7528\u6237\u52A0\u5BC6\u65B9\u6CD5 #group +group.id=\u7EC4\u7F16\u7801 group.name=\u7528\u6237\u7EC4 #account diff --git a/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsAdd.ftl index ff71d0f7..f0b37750 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsAdd.ftl @@ -37,7 +37,7 @@ <@locale code="userinfo.displayName" />: - + @@ -56,14 +56,14 @@ <@locale code="account.relatedUsername" />: - + <@locale code="account.relatedPassword" />: - + @@ -74,7 +74,7 @@ "/> - "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsList.ftl index 1ca8f964..eb272de3 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/accounts/appAccountsList.ftl @@ -25,7 +25,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/appsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/appsList.ftl index 4ff30b52..fd5f8be1 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/appsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/appsList.ftl @@ -103,7 +103,7 @@
@@ -126,22 +126,23 @@
- - - <@locale code="button.text.add"/> - - diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appAdd.ftl index a37c406b..090a561e 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appAdd.ftl @@ -44,8 +44,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appUpdate.ftl index c91ecf4f..ce8c3856 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/basic/appUpdate.ftl @@ -53,8 +53,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appAdd.ftl index 8e776f6d..03a3ea06 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appAdd.ftl @@ -61,8 +61,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appUpdate.ftl index f4a671ef..6fcf6817 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/cas/appUpdate.ftl @@ -69,8 +69,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appAdd.ftl index 75796f7e..7d4dd98f 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appAdd.ftl @@ -221,8 +221,8 @@ $(function(){ - "/> - "/> + "/> + "/> \ No newline at end of file diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appUpdate.ftl index 8fe990fe..34c90211 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/desktop/appUpdate.ftl @@ -225,8 +225,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appAdd.ftl index 399b0143..2732e4d5 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appAdd.ftl @@ -163,8 +163,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appUpdate.ftl index d2ead4fc..06b153e0 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/extendapi/appUpdate.ftl @@ -175,8 +175,8 @@ $(function(){ - "/> - "/> + "/> + "/> \ No newline at end of file diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appAdd.ftl index 3ed1fc3d..0ba16d38 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appAdd.ftl @@ -183,8 +183,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appUpdate.ftl index 37f05f68..9cbe3744 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/formbased/appUpdate.ftl @@ -190,8 +190,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appAdd.ftl index ceddba82..7763c130 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appAdd.ftl @@ -228,8 +228,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appUpdate.ftl index 897b3ccb..b5dc39c8 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/oauth20/appUpdate.ftl @@ -239,8 +239,8 @@ $(function(){ - "/> - "/> + "/> + "/> \ No newline at end of file diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl index 05b42062..fb44b1ee 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appAdd.ftl @@ -162,8 +162,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl index 37e8db42..a343273e 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/saml20/appUpdate.ftl @@ -174,8 +174,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/selectAppsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/selectAppsList.ftl index 3dc6ade8..f469d69a 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/selectAppsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/selectAppsList.ftl @@ -34,8 +34,8 @@ <@locale code="apps.name"/>:
- - "> + + ">
diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appAdd.ftl index 7e169e90..63eb2588 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appAdd.ftl @@ -141,8 +141,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appUpdate.ftl index b3fe62b6..b680daf7 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/apps/tokenbased/appUpdate.ftl @@ -148,8 +148,8 @@ $(function(){ - "/> - "/> + "/> + "/> diff --git a/maxkey-web-manage/src/main/resources/templates/views/config/passwordpolicy/passwordpolicy.ftl b/maxkey-web-manage/src/main/resources/templates/views/config/passwordpolicy/passwordpolicy.ftl index 5337111b..d26a5fed 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/config/passwordpolicy/passwordpolicy.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/config/passwordpolicy/passwordpolicy.ftl @@ -49,7 +49,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/groupapp/addGroupAppsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groupapp/addGroupAppsList.ftl index 8b340dd7..0774bd5b 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groupapp/addGroupAppsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groupapp/addGroupAppsList.ftl @@ -50,13 +50,13 @@ <@locale code="apps.name"/>:
- - "> + + ">
- "> + ">
diff --git a/maxkey-web-manage/src/main/resources/templates/views/groupapp/groupAppsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groupapp/groupAppsList.ftl index 1c44bdca..98d299f6 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groupapp/groupAppsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groupapp/groupAppsList.ftl @@ -44,7 +44,7 @@
@@ -60,23 +60,23 @@ - - diff --git a/maxkey-web-manage/src/main/resources/templates/views/groups/groupAdd.ftl b/maxkey-web-manage/src/main/resources/templates/views/groups/groupAdd.ftl index 01254af1..d26764c8 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groups/groupAdd.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groups/groupAdd.ftl @@ -17,8 +17,7 @@ @@ -26,7 +25,7 @@ "> - "> + "> diff --git a/maxkey-web-manage/src/main/resources/templates/views/groups/groupUpdate.ftl b/maxkey-web-manage/src/main/resources/templates/views/groups/groupUpdate.ftl index 59c2f79d..2669ceea 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groups/groupUpdate.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groups/groupUpdate.ftl @@ -14,17 +14,16 @@
<@locale code="group.name"/>: +
- - " + + " wurl="<@base/>/groups/selectGroupsList" wwidth="700" wheight="500" target="window"> - "> - + "> + " expandValue="<@locale code="button.text.expandsearch"/>" collapseValue="<@locale code="button.text.collapsesearch"/>"> +
- " expandValue="<@locale code="button.text.expandsearch"/>" collapseValue="<@locale code="button.text.collapsesearch"/>"> - "> - " +
+ "> + " wurl="<@base/>/groupPrivileges/delete" />
<@locale code="group.name" />: - - * +
- - + + @@ -32,7 +31,7 @@ "> - "> + "> diff --git a/maxkey-web-manage/src/main/resources/templates/views/groups/groupsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groups/groupsList.ftl index 7381fe27..b751b3b9 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groups/groupsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groups/groupsList.ftl @@ -25,7 +25,7 @@
@@ -51,14 +51,14 @@
" wurl="<@base/>/groups/forwardAdd" - wwidth="400" - wheight="300" + wwidth="500" + wheight="200" target="window"> " wurl="<@base/>/groups/forwardUpdate" - wwidth="400" - wheight="300" + wwidth="500" + wheight="200" target="window"> " diff --git a/maxkey-web-manage/src/main/resources/templates/views/groups/selectGroupsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groups/selectGroupsList.ftl index 9146839c..e5d7f904 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groups/selectGroupsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groups/selectGroupsList.ftl @@ -27,16 +27,16 @@
<@locale code="group.id" />: - +
<@locale code="group.name" />: - - * +
- + diff --git a/maxkey-web-manage/src/main/resources/templates/views/groupuser/addGroupUsersList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groupuser/addGroupUsersList.ftl index 642855f8..a37dcf39 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groupuser/addGroupUsersList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groupuser/addGroupUsersList.ftl @@ -54,13 +54,13 @@ diff --git a/maxkey-web-manage/src/main/resources/templates/views/groupuser/groupUsersList.ftl b/maxkey-web-manage/src/main/resources/templates/views/groupuser/groupUsersList.ftl index c0ab69d8..5a21b154 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/groupuser/groupUsersList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/groupuser/groupUsersList.ftl @@ -45,7 +45,7 @@
@@ -60,23 +60,24 @@
:<@locale code="group.name"/>: - - "> + + ">
- " > + " >
<@locale code="userinfo.username"/>:
- - "> + + ">
- "> + ">
- - diff --git a/maxkey-web-manage/src/main/resources/templates/views/logs/loginAppsHistoryList.ftl b/maxkey-web-manage/src/main/resources/templates/views/logs/loginAppsHistoryList.ftl index 19d5691d..cd8db5a1 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/logs/loginAppsHistoryList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/logs/loginAppsHistoryList.ftl @@ -38,7 +38,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/logs/loginHistoryList.ftl b/maxkey-web-manage/src/main/resources/templates/views/logs/loginHistoryList.ftl index e0a37fec..52bc3403 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/logs/loginHistoryList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/logs/loginHistoryList.ftl @@ -38,7 +38,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/logs/logsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/logs/logsList.ftl index b7f3467d..91efca21 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/logs/logsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/logs/logsList.ftl @@ -38,7 +38,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/main.ftl b/maxkey-web-manage/src/main/resources/templates/views/main.ftl index bc18a679..c788eca0 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/main.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/main.ftl @@ -34,7 +34,7 @@
diff --git a/maxkey-web-manage/src/main/resources/templates/views/orgs/orgsList.ftl b/maxkey-web-manage/src/main/resources/templates/views/orgs/orgsList.ftl index 78babef0..5509ad50 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/orgs/orgsList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/orgs/orgsList.ftl @@ -155,7 +155,7 @@ $(function () {
diff --git a/maxkey-web-manage/src/main/resources/templates/views/userinfo/userinfoSelect.ftl b/maxkey-web-manage/src/main/resources/templates/views/userinfo/userinfoSelect.ftl index ba77ce21..8e65e318 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/userinfo/userinfoSelect.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/userinfo/userinfoSelect.ftl @@ -155,7 +155,7 @@
- + " >
<@locale code="group.name"/>: -
+
+ - - " + + " wurl="<@base/>/groups/selectGroupsList" wwidth="700" wheight="500" target="window"> - "> + "> + " expandValue="<@locale code="button.text.expandsearch"/>" collapseValue="<@locale code="button.text.collapsesearch"/>"> +
- " expandValue="<@locale code="button.text.expandsearch"/>" collapseValue="<@locale code="button.text.collapsesearch"/>"> +
- "> - " + "> + " wurl="<@base/>/groupMember/delete"/>
diff --git a/maxkey-web-manage/src/main/resources/templates/views/userinfo/usersList.ftl b/maxkey-web-manage/src/main/resources/templates/views/userinfo/usersList.ftl index 659c30c2..166985cc 100644 --- a/maxkey-web-manage/src/main/resources/templates/views/userinfo/usersList.ftl +++ b/maxkey-web-manage/src/main/resources/templates/views/userinfo/usersList.ftl @@ -165,7 +165,7 @@ $(function () {
-- GitLab