Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Commit e6f062e

Browse files
committed
Added default scope for OpenLDAP users
A new default scope has been added for OpenLDAP users requring `memberof` access for authenticated users. Closes #433
1 parent 6418dd4 commit e6f062e

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/Scopes/MemberOfScope.php

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace Adldap\Laravel\Scopes;
4+
5+
use Adldap\Query\Builder;
6+
7+
class MemberOfScope implements ScopeInterface
8+
{
9+
/**
10+
* {@inheritdoc}
11+
*/
12+
public function apply(Builder $builder)
13+
{
14+
$builder->select($this->getSelectedAttributes($builder));
15+
}
16+
17+
/**
18+
* Retrieve the attributes to select for the scope.
19+
*
20+
* This merges the current queries selected attributes so we
21+
* don't overwrite any other scopes selected attributes.
22+
*
23+
* @param Builder $builder
24+
*
25+
* @return array
26+
*/
27+
protected function getSelectedAttributes(Builder $builder)
28+
{
29+
$selected = $builder->getSelects();
30+
31+
return array_merge($selected, [
32+
$builder->getSchema()->memberOf(),
33+
]);
34+
}
35+
}

0 commit comments

Comments
 (0)