From 1a8aa5861292e12eb299eead4fb4a6fc69dad52a Mon Sep 17 00:00:00 2001 From: Ryan Mathis Date: Wed, 23 Jan 2019 10:46:02 -0700 Subject: [PATCH 1/2] Created new build script for error page --- ui/build.js | 20 ++++++++++++++++++++ ui/package-lock.json | 26 ++++++++++++++++++++++++++ ui/package.json | 7 ++++--- ui/src/{static.html => error.html} | 0 4 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 ui/build.js rename ui/src/{static.html => error.html} (100%) diff --git a/ui/build.js b/ui/build.js new file mode 100644 index 000000000..e68d3d848 --- /dev/null +++ b/ui/build.js @@ -0,0 +1,20 @@ +const fs = require('fs-extra'); + +fs.ensureDir('./dist/unsecured').then(function () { + try { + fs.copySync('./src/error.html', './dist/unsecured/error.html') + console.log('copy error page success!') + } catch (err) { + console.error(err) + } + + try { + fs.copySync('./node_modules/font-awesome/fonts', './dist/unsecured'); + console.log('copy fonts success!') + } catch (err) { + console.log(err); + } +}); + + + diff --git a/ui/package-lock.json b/ui/package-lock.json index 19c42e7e3..af48d3084 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -6747,6 +6747,17 @@ "null-check": "1.0.0" } }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" + } + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -9072,6 +9083,15 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", @@ -13370,6 +13390,12 @@ "imurmurhash": "0.1.4" } }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/ui/package.json b/ui/package.json index afe00523b..6f18e59dd 100644 --- a/ui/package.json +++ b/ui/package.json @@ -9,9 +9,9 @@ "test": "ng test --code-coverage", "lint": "ng lint", "e2e": "ng e2e", - "build:static": "node-sass src/static.scss ./dist/static.css", - "copy:static": "ncp ./src/static.html ./dist/static.html", - "copy": "npm run build:static && npm run copy:static", + "build:static": "node-sass src/static.scss ./dist/unsecured/static.css", + "copy:static": "node ./build", + "copy": "npm run copy:static && npm run build:static", "buildProd": "ng build --prod && npm run copy", "bundle-report": "webpack-bundle-analyzer dist/stats.json" }, @@ -55,6 +55,7 @@ "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", "codelyzer": "~4.2.1", + "fs-extra": "^7.0.1", "jasmine-core": "~2.99.0", "jasmine-marbles": "^0.3.1", "jasmine-spec-reporter": "~4.1.0", diff --git a/ui/src/static.html b/ui/src/error.html similarity index 100% rename from ui/src/static.html rename to ui/src/error.html From 983780d9619fb630ab7c7b77f0033af72a7a48cb Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 23 Jan 2019 11:13:29 -0700 Subject: [PATCH 2/2] [SHIBUI-1179] Replaced static.html web security entry with a new /unsecured/**/* entry. Updated new user redirect to redirect to /unsecured/error.html. Updated tests. --- .../main/java/net/unicon/shibui/pac4j/AddNewUserFilter.java | 2 +- .../src/main/java/net/unicon/shibui/pac4j/WebSecurity.java | 4 ++-- .../net/unicon/shibui/pac4j/AddNewUserFilterTests.groovy | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pac4j-module/src/main/java/net/unicon/shibui/pac4j/AddNewUserFilter.java b/pac4j-module/src/main/java/net/unicon/shibui/pac4j/AddNewUserFilter.java index 5c5bf6e12..9ff528d30 100644 --- a/pac4j-module/src/main/java/net/unicon/shibui/pac4j/AddNewUserFilter.java +++ b/pac4j-module/src/main/java/net/unicon/shibui/pac4j/AddNewUserFilter.java @@ -75,7 +75,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha user = persistedUser.get(); } if (user.getRole().equals(ROLE_NONE)) { - ((HttpServletResponse) response).sendRedirect("/static.html"); + ((HttpServletResponse) response).sendRedirect("/unsecured/error.html"); } else { chain.doFilter(request, response); // else, user is in the system already, carry on } diff --git a/pac4j-module/src/main/java/net/unicon/shibui/pac4j/WebSecurity.java b/pac4j-module/src/main/java/net/unicon/shibui/pac4j/WebSecurity.java index e0e156eec..4b1c549f7 100644 --- a/pac4j-module/src/main/java/net/unicon/shibui/pac4j/WebSecurity.java +++ b/pac4j-module/src/main/java/net/unicon/shibui/pac4j/WebSecurity.java @@ -35,10 +35,10 @@ protected void configure(HttpSecurity http) throws Exception { @Configuration @Order(1) - public static class StaticSecurityConfiguration extends WebSecurityConfigurerAdapter { + public static class UnsecuredSecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { - http.antMatcher("/static.html").authorizeRequests().antMatchers("/static.html").permitAll(); + http.antMatcher("/unsecured/**/*").authorizeRequests().antMatchers("/unsecured/**/*").permitAll(); } } diff --git a/pac4j-module/src/test/groovy/net/unicon/shibui/pac4j/AddNewUserFilterTests.groovy b/pac4j-module/src/test/groovy/net/unicon/shibui/pac4j/AddNewUserFilterTests.groovy index 98c5e99f3..16c5fa42c 100644 --- a/pac4j-module/src/test/groovy/net/unicon/shibui/pac4j/AddNewUserFilterTests.groovy +++ b/pac4j-module/src/test/groovy/net/unicon/shibui/pac4j/AddNewUserFilterTests.groovy @@ -52,7 +52,7 @@ class AddNewUserFilterTests extends Specification { 1 * roleRepository.save(_) 1 * userRepository.save(_) 1 * emailService.sendNewUserMail('newUser') - 1 * response.sendRedirect("/static.html") + 1 * response.sendRedirect("/unsecured/error.html") } def "existing users are not redirected"() {