diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php
index 563fb1e9d..58b25ee3f 100644
--- a/app/Http/Middleware/Authenticate.php
+++ b/app/Http/Middleware/Authenticate.php
@@ -4,6 +4,7 @@ namespace Oxbow\Http\Middleware;
use Closure;
use Illuminate\Contracts\Auth\Guard;
+use Setting;
class Authenticate
{
@@ -33,7 +34,8 @@ class Authenticate
*/
public function handle($request, Closure $next)
{
- if ($this->auth->guest()) {
+ $sitePublic = Setting::get('app-public', false) === 'true';
+ if ($this->auth->guest() && !$sitePublic) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
diff --git a/app/User.php b/app/User.php
index d58ded82e..37e40437a 100644
--- a/app/User.php
+++ b/app/User.php
@@ -68,6 +68,9 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*/
public function can($permissionName)
{
+ if($this->email == 'guest') {
+ return false;
+ }
$permissions = $this->role->permissions()->get();
$permissionSearch = $permissions->search(function ($item, $key) use ($permissionName) {
return $item->name == $permissionName;
diff --git a/resources/views/base.blade.php b/resources/views/base.blade.php
index 242c5b512..2d3e54ae1 100644
--- a/resources/views/base.blade.php
+++ b/resources/views/base.blade.php
@@ -64,20 +64,22 @@
Settings
@endif
-
-