Comments (9)
The main reason is that the session is not static access anymore in 3.x, as such you need to pass it in manually now.
from cakephp-tinyauth.
But if you use the component or helper, it should be done for you, and you can use the same nice wrapping as before: `$this->AuthUser->hasRole()``.
Those are currently part of the tools plugin, where the Auth part should be as well (or?), as this seems to be quite more specific than the tinyauth itself.
from cakephp-tinyauth.
Hello!
Thanks for your answer. I just testet using AuthUser but something is wrong.
I put $this->loadComponent('Tools.AuthUser');
after loading TinyAuth and tried debug($this->AuthUser->hasRole( ROLE_MEMBER ));
afterwards resulting in false
when it should be true
.
In auth.php
(which i loaded in bootstrap.php
) is the following defined:
define('ROLE_MEMBER', 1);
define('ROLE_OFFICE', 2);
return [
'Roles' => [
'office' => ROLE_OFFICE,
'member' => ROLE_MEMBER,
],
];
Every definition in acl.ini
works perfectly.
It seems that there is an error in AuthUserTrait::roles(). The call to $roles = $this->user(USER_ROLE_KEY);
returns null
. If I replace it for example with $roles = $this->user('role_id');
it works.
Am I doing something wrong?
Thanks,
Bernhard
from cakephp-tinyauth.
Sure you defined USER_ROLE_KEY?
As the code shows it defaults to define('USER_ROLE_KEY', 'Roles')
for non-db config.
from cakephp-tinyauth.
Mmmh, I thought this is handled like a linked model and translated somewhere to role_id ...?
What about this comment? Says like it sould be role_id ...?
from cakephp-tinyauth.
Just define it as you need it in your bootstrap :)
define('USER_ROLE_KEY', 'role_id')
from cakephp-tinyauth.
It works! Thanks!
I was wondering if you could give me some advice? Using TinyAuth I need to check for ACL rights given in acl.ini. Right now I'm using a custom component llike this:
class AclComponent extends Component {
public function check ( $controllerName, $action, $plugin = null ) {
$request = new Request();
$request->addParams( [ 'controller' => $controllerName, 'action' => $action, 'plugin' => $plugin ] );
return $controller = $this->_registry->getController()->Auth->isAuthorized( null, $request );
}
}
Is this ok? Or is there a better way I'm not seeing ...?
Thanks!
from cakephp-tinyauth.
cool.
Feel free to PR docs adjustments so other people know what to do :)
Well, the acl was never intended to be used like this. So if it works, I guess its fine.
There might be refactoring possible that could make it cleaner or easier, though.
If you have suggestions let me know.
from cakephp-tinyauth.
Mmmh. I guess adding this functionality to TinyAuthorize.php
would be a good idea. What do you think about a wrapper aroung TinyAuthorize::authorize($user, Request $request)
?
from cakephp-tinyauth.
Related Issues (20)
- time remember user HOT 1
- Adding PHP, YAML, ... adapters? HOT 2
- Cake4 - Documentation suggestions HOT 3
- Missing TinyAuth role id field (Auth.User.user_role) in user session (CakePHP 4) HOT 4
- Not working with Authentication and Authorization plugins HOT 10
- Cake 3.x Auth component mentioned in docs HOT 3
- Problem with multipleRoles option on HOT 5
- AuthPanel in DebugKit is not working HOT 2
- How to log in an User HOT 4
- Problem when using new Cakephp Authentication Plugin HOT 1
- Not getting the latest version with composer HOT 5
- Integration with authentication plugin and JWT HOT 3
- Incompatibility with CRUD plugin HOT 1
- Scoped Prefix Routing Bug HOT 4
- Fatal error : Public function getAuthorizationService HOT 2
- Authorization plugin and TinyAuth together HOT 3
- set config - authorization HOT 6
- auth_allow.ini not parsing route prefix HOT 11
- Vulnerability in laminas/laminas-diactoros HOT 1
- Read ID of Roles table from config HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cakephp-tinyauth.