# |
Sep 4th 2019, 11:51 |
alexdd55976 |
`FULL_GROUP_BY` annyoing problem |
# |
Sep 4th 2019, 11:31 |
javier.villanueva |
yes, i read this issue, thanks |
# |
Sep 4th 2019, 11:31 |
javier.villanueva |
ok |
# |
Sep 4th 2019, 11:31 |
neon1024 |
If you happen to use `->group()` or similar |
# |
Sep 4th 2019, 11:30 |
neon1024 |
The only thing you might need to change would be the MySQL options if you’re using `FULL_GROUP_BY` |
# |
Sep 4th 2019, 11:29 |
javier.villanueva |
@spriz thanks for response. Mysql 8 + Cake 3.8 does not require special changes? |
# |
Sep 4th 2019, 11:23 |
spriz |
@javier.villanueva I'd use the most recent stable :+1: |
# |
Sep 4th 2019, 11:11 |
javier.villanueva |
there are a recommended mysql version for cakephp 3.8? |
# |
Sep 4th 2019, 11:01 |
conehead |
If no duration is set for the configuration, it is infinite? |
# |
Sep 4th 2019, 10:39 |
spriz |
Yeah but this is cases where our support roles in our admin/root UI and it affects cutsomers |
# |
Sep 4th 2019, 10:39 |
neon1024 |
You could update the permission and write back to the session if you wanted to |
# |
Sep 4th 2019, 10:38 |
spriz |
although that is quite rare |
# |
Sep 4th 2019, 10:38 |
spriz |
We stored it in session - only troubles are when they change they have to relog or wait until session expires |
# |
Sep 4th 2019, 10:29 |
neon1024 |
Can’t really think of any disadvantages to session storage, except perhaps session hijacking or similar |
# |
Sep 4th 2019, 10:23 |
conehead |
But caching could be a solution as well |
# |
Sep 4th 2019, 10:22 |
conehead |
Would there be any disadvantages to put permissions into the session? Except that user would have to log out/in again when changes occur? |
# |
Sep 4th 2019, 10:22 |
neon1024 |
To minimize links which got to a failed Authorize page |
# |
Sep 4th 2019, 10:21 |
neon1024 |
Maybe set the cache as 3-5 minutes |
# |
Sep 4th 2019, 10:21 |
neon1024 |
So if two users share the same permissions they can both get the same cached navigation |
# |
Sep 4th 2019, 10:21 |
neon1024 |
Perhaps cache the generated navigation using a cache key of the composed permissions |
# |
Sep 4th 2019, 10:20 |
conehead |
Was just wondering because I got like 20 menu items. And every time I load a page it is checked if the permission exists for each of these elements |
# |
Sep 4th 2019, 10:20 |
neon1024 |
My Auth finder does load permissions into the session though |
# |
Sep 4th 2019, 10:19 |
neon1024 |
At least then if someone changes someone’s access, my RoleAuthorize class checks the DB. Otherwise they’ll have permissions until they close the browser |
# |
Sep 4th 2019, 10:18 |
neon1024 |
I do both |
# |
Sep 4th 2019, 10:13 |
conehead |
Right now I still check from database. rbac |
# |
Sep 4th 2019, 10:13 |
conehead |
Would you keep user permissions in sessions? |
# |
Sep 4th 2019, 10:03 |
neon1024 |
Well any help we can give, do let us know :thumbsup: |
# |
Sep 4th 2019, 10:02 |
felix.robaglia |
(just an intern, I have a lot to learn hehe) |
# |
Sep 4th 2019, 10:02 |
felix.robaglia |
It is a tinyint indeed, didn't know I could use a boolean but that makes sense actually. Would make the code clearer, thanks :slightly_smiling_face: |
# |
Sep 4th 2019, 10:00 |
neon1024 |
If it’s a `TINYINT(1)` you could use a boolean too :slightly_smiling_face: |
# |
Sep 4th 2019, 10:00 |
felix.robaglia |
I'm not sure, prolly cause i'm dumb, just tested without quoting and it works :C |
# |
Sep 4th 2019, 09:57 |
neon1024 |
Just curious @felix.robaglia why do you quote your `'1'` ? |
# |
Sep 4th 2019, 09:56 |
conehead |
Challgren`s option is best if you would like to define your query further |
# |
Sep 4th 2019, 09:56 |
challgren |
Better than too little! |
# |
Sep 4th 2019, 09:56 |
felix.robaglia |
That's a lot of solutions, thanks a lot everyone ! :slightly_smiling_face: |
# |
Sep 4th 2019, 09:55 |
conehead |
Too many options :) |
# |
Sep 4th 2019, 09:54 |
slackebot |
<challgren> |
# |
Sep 4th 2019, 09:54 |
neon1024 |
Or even `->contain('Contracts.Source')` :) |
# |
Sep 4th 2019, 09:53 |
challgren |
of you could pass a callback with a Query as the parameter |
# |
Sep 4th 2019, 09:53 |
conehead |
@felix.robaglia ```$clients = $clientsT ->find('all') ->contain([ 'Contracts' => [ 'Source', ], ]) ->where(['active' => '1']);``` |
# |
Sep 4th 2019, 09:52 |
felix.robaglia |
so I need to say that Contracts contain Source, but I'm not sure I can do that. Any idea ? |