diff --git a/packages/strapi-admin/admin/src/containers/AdminPage/index.js b/packages/strapi-admin/admin/src/containers/AdminPage/index.js
index efd635ce80..3b76e6f005 100644
--- a/packages/strapi-admin/admin/src/containers/AdminPage/index.js
+++ b/packages/strapi-admin/admin/src/containers/AdminPage/index.js
@@ -60,6 +60,18 @@ export class AdminPage extends React.Component { // eslint-disable-line react/pr
}
}
+ componentWillUpdate(nextProps) {
+ if (includes(nextProps.location.pathname, 'plugins') && nextProps.location.pathname !== '/list-plugins') {
+ const appPlugins = Object.keys(nextProps.plugins.toJS());
+ const pluginPath = nextProps.location.pathname.split('/')[2];
+ const shouldRedirect = appPlugins.filter(el => el === pluginPath).length === 0;
+
+ if (shouldRedirect) {
+ this.props.history.push('/404');
+ }
+ }
+ }
+
checkLogin = (props) => {
if (props.hasUserPlugin && this.isUrlProtected(props) && !auth.getToken()) {
const endPoint = this.hasAdminUser(props) ? 'login': 'register';
@@ -122,6 +134,7 @@ export class AdminPage extends React.Component { // eslint-disable-line react/pr
+