diff --git a/packages/strapi-plugin-users-permissions/config/policies/isAuthenticated.js b/packages/strapi-plugin-users-permissions/config/policies/isAuthenticated.js new file mode 100644 index 0000000000..5340b1a41d --- /dev/null +++ b/packages/strapi-plugin-users-permissions/config/policies/isAuthenticated.js @@ -0,0 +1,5 @@ +module.exports = async (ctx, next) => { + const config = strapi.plugins['users-permissions'].config; + + await next(); +}; diff --git a/packages/strapi-plugin-users-permissions/middlewares/users-permissions/index.js b/packages/strapi-plugin-users-permissions/middlewares/users-permissions/index.js index 3b8d387763..8451249593 100644 --- a/packages/strapi-plugin-users-permissions/middlewares/users-permissions/index.js +++ b/packages/strapi-plugin-users-permissions/middlewares/users-permissions/index.js @@ -1,10 +1,21 @@ +const pathToRegexp = require('path-to-regexp'); +const _ = require('lodash'); + module.exports = strapi => { return { initialize: function(cb) { - strapi.app.use(async (ctx, next) => { - await next(); + _.forEach(strapi.config.routes, value => { + value.config.policies.unshift('plugins.users-permissions.isAuthenticated'); }); + if (strapi.plugins) { + _.forEach(strapi.plugins, (plugin, name) => { + _.forEach(plugin.config.routes, value => { + value.config.policies.unshift('plugins.users-permissions.isAuthenticated'); + }); + }); + } + cb(); } }; diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index 708e031745..d1a0a0e247 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -26,6 +26,7 @@ "dependencies": { "bcryptjs": "^2.4.3", "jsonwebtoken": "^8.1.0", + "path-to-regexp": "^2.1.0", "sendmail": "^1.2.0", "strapi-helper-plugin": "3.0.0-alpha.6.7" }, @@ -62,4 +63,4 @@ "rimraf": "^2.6.2", "webpack": "^3.8.1" } -} \ No newline at end of file +}