diff --git a/maxkey-core/src/main/java/org/maxkey/domain/Navigations.java b/maxkey-core/src/main/java/org/maxkey/domain/Navigations.java index b777ada1..3a9ea343 100644 --- a/maxkey-core/src/main/java/org/maxkey/domain/Navigations.java +++ b/maxkey-core/src/main/java/org/maxkey/domain/Navigations.java @@ -149,7 +149,7 @@ public class Navigations extends JpaBaseDomain implements java.io.Serializable return "Navigations [name=" + name + ", url=" + url + ", type=" + type + ", target=" + target + ", pId=" + pId + ", pName=" + pName + ", xPath=" + xPath + ", hasChild=" + hasChild - + ", sortOrder=" + sortOrder + ", visible=" + visible + +", visible=" + visible + ", childNavs=" + childNavs + "]"; } diff --git a/maxkey-core/src/main/java/org/maxkey/domain/apps/Applications.java b/maxkey-core/src/main/java/org/maxkey/domain/apps/Applications.java index d2a307df..70f0df3d 100644 --- a/maxkey-core/src/main/java/org/maxkey/domain/apps/Applications.java +++ b/maxkey-core/src/main/java/org/maxkey/domain/apps/Applications.java @@ -106,7 +106,7 @@ public class Applications extends JpaBaseDomain implements Serializable{ protected Accounts appUser; - protected int sortOrder; + protected int sortIndex; protected String description; @@ -242,8 +242,13 @@ public class Applications extends JpaBaseDomain implements Serializable{ } + public int getSortIndex() { + return sortIndex; + } - + public void setSortIndex(int sortIndex) { + this.sortIndex = sortIndex; + } /** * @param icon the icon to set diff --git a/maxkey-core/src/main/java/org/maxkey/domain/apps/OAuth20Details.java b/maxkey-core/src/main/java/org/maxkey/domain/apps/OAuth20Details.java index 1e99735b..e842f4f6 100644 --- a/maxkey-core/src/main/java/org/maxkey/domain/apps/OAuth20Details.java +++ b/maxkey-core/src/main/java/org/maxkey/domain/apps/OAuth20Details.java @@ -64,7 +64,7 @@ public class OAuth20Details extends Applications { this.setIcon(application.getIcon()); this.clientId=application.getId(); - this.setSortOrder(application.getSortOrder()); + this.setSortIndex(application.getSortIndex()); this.setVendor(application.getVendor()); this.setVendorUrl(application.getVendorUrl()); diff --git a/maxkey-core/src/test/java/com/connsec/crypto/SCryptPasswordEncoderTest.java b/maxkey-core/src/test/java/com/connsec/crypto/SCryptPasswordEncoderTest.java index 33bef3a1..fe554ffb 100644 --- a/maxkey-core/src/test/java/com/connsec/crypto/SCryptPasswordEncoderTest.java +++ b/maxkey-core/src/test/java/com/connsec/crypto/SCryptPasswordEncoderTest.java @@ -1,6 +1,6 @@ package com.connsec.crypto; -import org.springframework.security.crypto.scrypt.SCryptPasswordEncoder; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; public class SCryptPasswordEncoderTest { @@ -10,11 +10,12 @@ public class SCryptPasswordEncoderTest { public static void main(String[] args) { // TODO Auto-generated method stub - SCryptPasswordEncoder pe=new SCryptPasswordEncoder(); - String c="$e0801$7Holo9EgzBeg5xf/WLZu3/5IQwOyEPDLJPgMXkF9jnekBrbQUMt4CF9O2trkz3zBCnCLpUMR437q/AjQ5TTToA==$oYB8KRSxAsxkKkt5r79W6r6P0wTUcKwGye1ivXRN0Ts=" - ; - System.out.println(pe.encode("shimingxy")+"_password"); - System.out.println(pe.matches("shimingxy"+"_password", c)); + BCryptPasswordEncoder pe=new BCryptPasswordEncoder(); + //String c="$e0801$7Holo9EgzBeg5xf/WLZu3/5IQwOyEPDLJPgMXkF9jnekBrbQUMt4CF9O2trkz3zBCnCLpUMR437q/AjQ5TTToA==$oYB8KRSxAsxkKkt5r79W6r6P0wTUcKwGye1ivXRN0Ts=" + //; + System.out.println(pe.encode("admin")); + // System.out.println(pe.encode("shimingxy")+"_password"); + //System.out.println(pe.matches("shimingxy"+"_password", c)); } } diff --git a/maxkey-lib/other/mybatis-jpa-extra-1.0.jar b/maxkey-lib/other/mybatis-jpa-extra-1.0.jar index 07da7209..28e5d035 100644 Binary files a/maxkey-lib/other/mybatis-jpa-extra-1.0.jar and b/maxkey-lib/other/mybatis-jpa-extra-1.0.jar differ diff --git a/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-cas/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore b/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore deleted file mode 100644 index c2d9872a..00000000 --- a/maxkey-protocols/maxkey-protocol-cas/bin/test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/com/ diff --git a/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-desktop/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-extendapi/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-formbased/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-ltpa/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-ltpa/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-ltpa/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/org/springframework/security/oauth2/spring-security-oauth2-1.0.xsd b/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/org/springframework/security/oauth2/spring-security-oauth2-1.0.xsd new file mode 100644 index 00000000..71007dd0 --- /dev/null +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/bin/main/org/springframework/security/oauth2/spring-security-oauth2-1.0.xsd @@ -0,0 +1,728 @@ + + + + + + + + + Creates an OAuth2RestTemplate with all the pieces needed to connect to a remote resource from + a web + application. Injects request and session-scoped beans into the template, so can only be + used in the context of a web + request. + + + + + + + + + + + + + + + The OAuth2ProtectedResourceDetails governing the configuration of this client. Mandatory. + + + + + + + The reference to the bean that manages access token acquisition. Optional (defaults to a chain + including common grant types from the spec). + + + + + + + + + + + + Specifies that the oauth 2 authorization and token + endpoints should be created in the application + context. These are + implemented as regular Spring @Controller beans, so as long as the + default Spring MVC set up in + present in the application + the endpoints should work (at /oauth/authorization and /oauth/token by + default). + + + + + + + + + The configuration of the authorization code + mechanism. This + mechanism enables a way for clients to + obtain an + access token by obtaining an authorization code. + + + + + + + Whether to disable the authorization code + mechanism. + + + + + + + The reference to the bean that defines the + authorization code + services. Default value is an + instance of + "org.springframework.security.oauth2.provider.authorization_code.InMemoryAuthorizationCodeServices". + + + + + + + + + The configuration of the client credentials + grant type. + + + + + + + Whether to disable the implicit grant type + + + + + + + + + The configuration of the refresh token grant + type. + + + + + + + Whether to disable the refresh token grant + type + + + + + + + + + The configuration of the client credentials + grant type. + + + + + + + Whether to disable the refresh token grant + type + + + + + + + + + The configuration of the resource owner password + grant type. + + + + + + + Whether to disable the refresh token grant + type + + + + + + + A reference to an authentication manager that + can be used to + authenticate the resource owner + + + + + + + + + The configuration of your custom grant type. + + + + + + + Whether to disable this grant + type + + + + + + + A reference to your token granter + + + + + + + + + + The reference to the bean that defines the client + details service. + + + + + + + The URL at which a request for an access token + will be serviced. + Default value: "/oauth/token" + + + + + + + The URL at which a user is redirected for + authorization. Default + value: "/oauth/authorize" + + + + + + + + + The reference to the bean that defines the + granter of different oauth + token types. + + + + + + + + The reference to the bean that defines the + implicit grant service. + + + + + + + + The reference to the bean that defines the token + services. Default + value is an instance of + "org.springframework.security.oauth2.provider.token.DefaultTokenServices". + + + + + + + + The reference to the bean that defines the manager for + authorization requests from the input + parameters (e.g. request parameters). + Default + value is an + instance of + "org.springframework.security.oauth2.provider.token.DefaultAuthorizationRequestManager". + + + + + + + + Reference to a bean that handles user approval decisions. Using this strategy servers can + selectively skip the approval process depending on decisions in the past or on the type of client. + + + + + + + + The URL of the page that handles the user + approval form (if needed, depending on the grant type). + The default is "forward:/oauth/confirm_access" which is not handled + by the authorization endpoint, so normally you + will have to supply a handler + for this path. + + + + + + + + The URL of the page that handles errors (default forward:/oauth/error). + + + + + + + + The name of the form parameter that is used to + indicate user + approval of the client + authentication + request. + Default value: "user_oauth_approval". + + + + + + + + The reference to the bean that defines the + redirect resolver, used + during the user + authorization. + Default + value is an instance of + "org.springframework.security.oauth2.provider.authorization_code.DefaultRedirectResolver". + + + + + + + + + + + Specifies that there are oauth 2 protected resources in + the application context. This element + has an + id which is the bean id of the filter created. The filter + should be added to the Spring Security filter chain at + position before="PRE_AUTH_FILTER" + + + + + + + + + + The resource id that is protected by this filter + if any. If empty or + absent then all resource ids + are allowed, + otherwise + only tokens which are granted to a client that contains + this reosurce + id will be legal. + + + + + + + + The reference to the bean that defines the token + services. Default + value is an instance of + "org.springframework.security.oauth2.provider.token.DefaultTokenServices". + + + + + + + + The reference to the bean that defines the entry point for failed authentications. Defaults to + a vanilla + org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint. + + + + + + + + The reference to the bean that defines the AuthenticationDetailsSource. + + + + + + + + + + + + Default element that contains the definition of the + OAuth clients that are + allowed to access this + service. + + + + + + + + + + + Definition of a client that can act on behalf + of a user. + + + + + + + + The client id. + + + + + + + The client secret. If the secret is + undefined or empty (the + default) the client does + not + require a + secret. + + + + + + + The re-direct URI(s) established during + registration (optional, comma separated). + + + + + + + The resource ids to which this client can be + granted access + (comma-separated). If missing or + empty all + resources are + accessible (not recommended by the spec). + + + + + + + The scopes to which the client is limited + (comma-separated). If + scope is undefined or empty + (the + default) the client + is not limited by scope, but in that case + the authorization + service must explicitly + accept unlimited + access by not + specifying any scopes itself. + + + + + + + Grant types that are authorized for the + client to use + (comma-separated). Currently defined + grant types + include + "authorization_code", "password", "assertion", and + "refresh_token". Default value is + "authorization_code,refresh_token". + + + + + + + Authorities that are granted to the client + (comma-separated). Distinct + from the authorities + granted to + the user on behalf + of whom the client is acting. + + + + + + + The access token validity period in seconds (optional). If unspecified a global default will + be applied by the token services. + + + + + + + The refresh token validity period in seconds (optional). If unspecified a global default + will + be applied by the token services. + + + + + + + + + + + + + + + Element for declaring and configuring an expression + handler for oauth + security expressions. See + http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.html + + + + + + + + + + + + + Element for declaring and configuring an expression + handler for oauth + security expressions in http + intercept urls. See + http://static.springsource.org/spring-security/site/docs/3.0.x/reference/el-access.html + + + + + + + + + + + + + Creates the oauth 2 client filter be be added to the + application security policy. + + + + + + + + + The reference to the bean that defines the + redirect strategy, used when redirecting the user for + access authorization. Default value is an instance of + "org.springframework.security.web.DefaultRedirectStrategy". + + + + + + + + + + + + Definition of a remote resource that is protected via + OAuth2 to which this client application wants + access. + + + + + + + + + The grant type. Currently defined grant types + include + "authorization_code", "password", and + "assertion". + Default value + is "authorization_code". + + + + + + + The client id. This is the id by which the + resource server will + identify this application. + + + + + + + The uri to where the access token may be + obtained. + + + + + + + Comma-separted list of string specifying the + scope of the access to the + resource. By default, + no + scope will be + specified. + + + + + + + The secret asssociated with the resource. By + default, no secret + will be supplied for access to + the resource. + + + + + + + The scheme that is used to pass the client + secret. Suggested + values: "header" and "form". + Default: + "header". + See section 2.1 of the OAuth 2 spec. + + + + + + + The uri to which the user will be redirected if + the user is ever + needed to grant an authorization + code. + + + + + + + The method for bearing the token when accessing + the resource. + Default value is "header". See + AuthenticationScheme enum for possible values. + + + + + + + The name of the bearer token. The default is + "access_token", which + is according to the spec, + but + some providers + (e.g. Facebook) don't conform to the spec. + + + + + + + Some resource servers may require a + pre-established URI to which + they will redirect users after + users + authorize an access token. + + + + + + + Boolean flag indicating that the current URI should be used as a redirect (if available) rather + than the + registered redirect URI. Default is true. + + + + + + + The username for authentication, required only when type is "password". + + + + + + + The password for authentication, required only when type is "password". + + + + + + + + + diff --git a/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-saml-2.0/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-protocols/maxkey-protocol-tokenbased/bin/main/.gitignore b/maxkey-protocols/maxkey-protocol-tokenbased/bin/main/.gitignore deleted file mode 100644 index 59d60644..00000000 --- a/maxkey-protocols/maxkey-protocol-tokenbased/bin/main/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/META-INF/ -/org/ diff --git a/maxkey-web-manage/.settings/org.eclipse.core.resources.prefs b/maxkey-web-manage/.settings/org.eclipse.core.resources.prefs index 187d582c..896a9a53 100644 --- a/maxkey-web-manage/.settings/org.eclipse.core.resources.prefs +++ b/maxkey-web-manage/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,2 @@ eclipse.preferences.version=1 -encoding//src/main/resources/templates/views/apps/appAddCommon.ftl=UTF-8 -encoding//src/main/resources/templates/views/apps/appUpdateCommon.ftl=UTF-8 -encoding/=UTF-8 +encoding/=UTF-8 \ No newline at end of file diff --git a/maxkey-web-manage/src/main/java/org/maxkey/tasks/report/LoginDayReport.java b/maxkey-web-manage/src/main/java/org/maxkey/tasks/report/LoginDayReport.java deleted file mode 100644 index c2564d97..00000000 --- a/maxkey-web-manage/src/main/java/org/maxkey/tasks/report/LoginDayReport.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.maxkey.tasks.report; - -import java.sql.Types; -import java.util.List; -import java.util.Map; - - -import org.joda.time.DateTime; -import org.joda.time.format.DateTimeFormat; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.jdbc.core.JdbcTemplate; - -public class LoginDayReport { - - final static Logger _logger = LoggerFactory.getLogger(LoginDayReport.class); - - JdbcTemplate jdbcTemplate; - - public static final String DAY_REPORT_COUNT_SELECT_SQL="SELECT COUNT(ID) DAYCOUNT FROM SECDB.LOGIN_HISTORY WHERE LOGINTIME > ? AND LOGINTIME < ?"; - - public static final String DAY_REPORT_INSERT_SQL="INSERT INTO REPORT_LOGIN_DAY (REPORTDATE,REPORTYEAR,REPORTMONTH,REPORTDAY,REPORTCOUNT) VALUES (? , ? , ? , ? , ?)"; - - public static final String MONTH_REPORT_COUNT_SELECT_SQL="SELECT REPORTCOUNT FROM REPORT_LOGIN_MONTH WHERE REPORTYEAR = ? AND REPORTMONTH = ?"; - - public static final String MONTH_REPORT_INSERT_SQL="INSERT INTO REPORT_LOGIN_MONTH (REPORTDATE,REPORTYEAR,REPORTMONTH,REPORTCOUNT) VALUES (? , ? , ? , ?)"; - - public static final String MONTH_REPORT_UPDATE_SQL="UPDATE REPORT_LOGIN_MONTH SET REPORTCOUNT = ? WHERE REPORTYEAR = ? AND REPORTMONTH = ?"; - - public void dayReportCount() { - _logger.info("Day Report Statistical Analysis start . "); - DateTime currentdateTime = new DateTime(); - _logger.info("current date time : " +currentdateTime.toString( DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"))); - - String beginDateTime=currentdateTime.toString( DateTimeFormat.forPattern("yyyy-MM-dd 00:00:00")); - String endDateTime=currentdateTime.toString( DateTimeFormat.forPattern("yyyy-MM-dd 23:59:59")); - String currentDate=currentdateTime.toString( DateTimeFormat.forPattern("yyyy-MM-dd")); - String currentYear=currentdateTime.toString( DateTimeFormat.forPattern("yyyy")); - String currentMonth=currentdateTime.toString( DateTimeFormat.forPattern("MM")); - String currentDay=currentdateTime.toString( DateTimeFormat.forPattern("dd")); - - _logger.info("Day Report Statistical Analysis Date : " +currentDate); - //Analysis Current Day Login Count - Integer reportCount=jdbcTemplate.queryForObject(DAY_REPORT_COUNT_SELECT_SQL, - new Object[] { beginDateTime,endDateTime}, - new int[] {Types.TIMESTAMP,Types.TIMESTAMP}, Integer.class); - - _logger.info("Current day Count " + reportCount); - - jdbcTemplate.update(DAY_REPORT_INSERT_SQL, currentDate,currentYear,currentMonth,currentDay,reportCount); - - /** - * if month count not exist,then insert a record - * else add current day count to month count - */ - List> listSelectMonthReport=jdbcTemplate.queryForList(MONTH_REPORT_COUNT_SELECT_SQL, - new Object[] { currentYear,currentMonth}, - new int[] {Types.INTEGER,Types.INTEGER}); - - if(listSelectMonthReport.size()<1){ - jdbcTemplate.update(MONTH_REPORT_INSERT_SQL, currentDate,currentYear,currentMonth,reportCount); - _logger.info("Current Month Count " + reportCount); - }else{ - Integer selectMonthReportCount=Integer.parseInt(listSelectMonthReport.get(0).get("REPORTCOUNT").toString())+reportCount; - jdbcTemplate.update(MONTH_REPORT_UPDATE_SQL,selectMonthReportCount, currentYear,currentMonth); - _logger.info("Current Month Count " + selectMonthReportCount); - } - - _logger.info("Day Report Statistical Analysis Successful"); - } - - - public JdbcTemplate getJdbcTemplate() { - return jdbcTemplate; - } - - public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { - this.jdbcTemplate = jdbcTemplate; - } - -} diff --git a/maxkey-web-manage/src/main/resources/spring/maxkey-mgt-task.xml b/maxkey-web-manage/src/main/resources/spring/maxkey-mgt-task.xml index afb85e5c..00fda6dc 100644 --- a/maxkey-web-manage/src/main/resources/spring/maxkey-mgt-task.xml +++ b/maxkey-web-manage/src/main/resources/spring/maxkey-mgt-task.xml @@ -19,7 +19,7 @@ http://www.springframework.org/schema/security/spring-security.xsd"> - + @@ -41,12 +39,12 @@ - + - + --> 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 3e0ac284..8b340dd7 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 @@ -47,7 +47,7 @@
- +
<@locale code="app.name"/>:<@locale code="apps.name"/>:
@@ -104,6 +104,7 @@ data-total-field="records" data-page-list="[10, 25, 50, 100]" data-search="false" + data-sort-name="name" data-locale="zh-CN" data-query-params="dataGridQueryParams" data-query-params-type="pageSize" diff --git a/sql/secdb-20160918.sql b/sql/secdb-20160918.sql index 2fda8bb5..513b6477 100644 --- a/sql/secdb-20160918.sql +++ b/sql/secdb-20160918.sql @@ -1,5 +1,5 @@ -CREATE DATABASE IF NOT EXISTS `secdb` /*!40100 DEFAULT CHARACTER SET latin1 */; -USE `secdb`; +CREATE DATABASE IF NOT EXISTS `maxkey` /*!40100 DEFAULT CHARACTER SET utf8 */; +USE `maxkey`; -- MySQL dump 10.13 Distrib 5.6.23, for Win64 (x86_64) -- -- Host: 127.0.0.1 Database: secdb