Added options to allow whole site to be made public. Fixes #3.

This commit is contained in:
Dan Brown
2015-08-31 12:29:48 +01:00
parent a5807097e2
commit ee8795dcda
4 changed files with 27 additions and 15 deletions

View File

@ -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 {

View File

@ -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;