diff --git a/core/components/com_publications/admin/language/en-GB/en-GB.com_publications.ini b/core/components/com_publications/admin/language/en-GB/en-GB.com_publications.ini
index 165f33e7f4e..686bdc9c6c1 100644
--- a/core/components/com_publications/admin/language/en-GB/en-GB.com_publications.ini
+++ b/core/components/com_publications/admin/language/en-GB/en-GB.com_publications.ini
@@ -28,6 +28,8 @@ COM_CONFIG_AIP_FIELDSET_LABEL="AIP"
COM_CONFIG_SECTIONS_FIELDSET_LABEL="Sections"
COM_CONFIG_DOI_FIELDSET_LABEL="DOI Configuration"
COM_CONFIG_CURATION_FIELDSET_LABEL="Curation"
+COM_PUBLICATIONS_CONFIG_ALLOW_PUBLIC_SEARCH="Allow Public Search"
+COM_PUBLICATIONS_CONFIG_ALLOW_PUBLIC_SEARCH_DESC="Allow guests to browse and search publications."
COM_PUBLICATIONS_PUBLICATIONS_ADMIN_CONTROLS="Administrative Controls"
COM_PUBLICATIONS_GALLERY="Gallery"
diff --git a/core/components/com_publications/config/config.xml b/core/components/com_publications/config/config.xml
index fa9078e99b2..d907bf38d2a 100644
--- a/core/components/com_publications/config/config.xml
+++ b/core/components/com_publications/config/config.xml
@@ -12,6 +12,10 @@
+
+
+
+
diff --git a/core/components/com_publications/site/controllers/publications.php b/core/components/com_publications/site/controllers/publications.php
index 03257dc8251..ac64e4b9bcd 100644
--- a/core/components/com_publications/site/controllers/publications.php
+++ b/core/components/com_publications/site/controllers/publications.php
@@ -407,6 +407,25 @@ public function introTask()
*/
public function browseTask()
{
+ if (!$this->config->get('allow_public_search', 1) && User::isGuest())
+ {
+ $query = Request::getString('QUERY_STRING', '', 'server');
+
+ if (Request::getString('tag', '', 'request') || preg_match('/(?:^|[&;])(?:amp;)?tag=/i', $query))
+ {
+ throw new Exception(Lang::txt('COM_PUBLICATIONS_SEARCH_LOGIN_REQUIRED'), 410);
+ }
+
+ $return = base64_encode(Request::current(true));
+
+ App::redirect(
+ Route::url('index.php?option=com_users&view=login&return=' . $return, false),
+ Lang::txt('COM_PUBLICATIONS_SEARCH_LOGIN_REQUIRED'),
+ 'warning'
+ );
+ return;
+ }
+
// Set the default sort
$default_sort = 'date';
diff --git a/core/components/com_publications/site/language/en-GB/en-GB.com_publications.ini b/core/components/com_publications/site/language/en-GB/en-GB.com_publications.ini
index ab3d8520cb8..a67cb9913ca 100644
--- a/core/components/com_publications/site/language/en-GB/en-GB.com_publications.ini
+++ b/core/components/com_publications/site/language/en-GB/en-GB.com_publications.ini
@@ -20,6 +20,7 @@ COM_PUBLICATIONS_NO_RESULTS="No results found"
COM_PUBLICATIONS_RESULTS="Results"
COM_PUBLICATIONS_RESULT="result"
COM_PUBLICATIONS_LOGIN_NOTICE="You must log in before you can proceed."
+COM_PUBLICATIONS_SEARCH_LOGIN_REQUIRED="You must log in to browse and search publications."
COM_PUBLICATIONS_PRIVATE_PUB_LOGIN="This is a private publication. You must login to access this page."
COM_PUBLICATIONS_PRIVATE_NO_ACCESS="Sorry, this is a private publication with restricted access."
COM_PUBLICATIONS_BROWSE="Browse"
diff --git a/core/components/com_resources/admin/language/en-GB/en-GB.com_resources.ini b/core/components/com_resources/admin/language/en-GB/en-GB.com_resources.ini
index b47354c9dc2..d56061d4176 100644
--- a/core/components/com_resources/admin/language/en-GB/en-GB.com_resources.ini
+++ b/core/components/com_resources/admin/language/en-GB/en-GB.com_resources.ini
@@ -11,6 +11,8 @@ COM_CONFIG_FILES_FIELDSET_LABEL="Files"
COM_CONFIG_CREATION_FIELDSET_LABEL="New Submissions"
COM_CONFIG_ENTRY_FIELDSET_LABEL="Entries"
COM_CONFIG_IMPORT_FIELDSET_LABEL="Import"
+COM_RESOURCES_ALLOW_PUBLIC_SEARCH_LABEL="Allow Public Search"
+COM_RESOURCES_ALLOW_PUBLIC_SEARCH_DESC="Allow guests to browse and search resources."
; Filters
COM_RESOURCES_FILTER_CATEGORY="Category"
diff --git a/core/components/com_resources/config/config.xml b/core/components/com_resources/config/config.xml
index 074d0ed4c83..3e123528186 100644
--- a/core/components/com_resources/config/config.xml
+++ b/core/components/com_resources/config/config.xml
@@ -8,6 +8,10 @@