Skip to content

Commit 8408b66

Browse files
committed
Docs
1 parent 8fbd50a commit 8408b66

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

docs/Authorization.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,12 @@ if ($this->AuthUser->hasAccess(['action' => 'secretArea'])) {
306306
}
307307
```
308308

309+
### Named Routes
310+
With 1.12.0+ named routes are also supported now:
311+
```php
312+
<?= $this->AuthUser->link('Change Password', ['_name' => 'admin:account:password']); ?>
313+
```
314+
309315
## Including Authentication
310316
Please note that by default `hasAccess()` only checks the ACL INI, not the allow auth INI.
311317
Those links and access checks are meant to be used for logged in users.

src/View/Helper/AuthUserHelper.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
namespace TinyAuth\View\Helper;
44

55
use Cake\Core\Exception\Exception;
6-
use Cake\View\Helper;
7-
use Cake\View\View;
86
use Cake\Routing\Exception\MissingRouteException;
97
use Cake\Routing\Router;
8+
use Cake\View\Helper;
9+
use Cake\View\View;
1010
use TinyAuth\Auth\AclTrait;
1111
use TinyAuth\Auth\AuthUserTrait;
1212

@@ -45,8 +45,8 @@ public function __construct(View $View, array $config = []) {
4545
*/
4646
public function hasAccess(array $url) {
4747
if (isset($url['_name'])) {
48-
$routes = Router::getRouteCollection()->named();
49-
if (isset($routes[$url['_name']])) {
48+
$routes = Router::getRouteCollection()->named();
49+
if (isset($routes[$url['_name']])) {
5050
$defaults = $routes[$url['_name']]->defaults;
5151
if (!isset($defaults['action']) || !isset($defaults['controller'])) {
5252
throw new Exception('Controller or action name could not be null.');
@@ -57,10 +57,10 @@ public function hasAccess(array $url) {
5757
'controller' => $defaults['controller'],
5858
'action' => $defaults['action'],
5959
];
60-
} else {
60+
} else {
6161
throw new MissingRouteException(['url' => $url['_name']]);
6262
}
63-
} else {
63+
} else {
6464
$params = $this->_View->getRequest()->getAttribute('params');
6565
$url += [
6666
'prefix' => !empty($params['prefix']) ? $params['prefix'] : null,

tests/TestCase/View/Helper/AuthUserHelperTest.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
use Cake\Cache\Cache;
66
use Cake\Core\Configure;
7+
use Cake\Core\Exception\Exception;
78
use Cake\Core\Plugin;
9+
use Cake\Routing\Exception\MissingRouteException;
810
use Cake\Routing\Router;
911
use Cake\TestSuite\TestCase;
1012
use Cake\View\View;
@@ -52,8 +54,7 @@ public function setUp() {
5254
*
5355
* @return void
5456
*/
55-
public function tearDown()
56-
{
57+
public function tearDown() {
5758
parent::tearDown();
5859
Router::reload();
5960
}
@@ -159,7 +160,7 @@ public function testNamedRouteMissingControllerActionException() {
159160
);
160161

161162
$request = ['_name' => 'Tags::edit'];
162-
$this->expectException(\Cake\Core\Exception\Exception::class);
163+
$this->expectException(Exception::class);
163164
$this->expectExceptionMessage('Controller or action name could not be null.');
164165
$result = $this->AuthUserHelper->hasAccess($request);
165166
}
@@ -184,7 +185,7 @@ public function testInvalidNamedRouteException() {
184185

185186
$request = ['_name' => 'InvalidName'];
186187

187-
$this->expectException(\Cake\Routing\Exception\MissingRouteException::class);
188+
$this->expectException(MissingRouteException::class);
188189

189190
$this->AuthUserHelper->hasAccess($request);
190191
}

0 commit comments

Comments
 (0)