Log message #4263268

# At Username Text
# May 17th 2021, 15:09 kevin.pfeifer unless all of your tables should have that extra action
# May 17th 2021, 15:09 kevin.pfeifer well you need to specify the View inside that event as well so its basically pretty application specific
# May 17th 2021, 15:08 paolo.bragagni I'll have to write many applications and I'd like that all of them have the same template, so with my actions, my views, my model etc
# May 17th 2021, 15:08 kevin.pfeifer which I can't you in more detail
# May 17th 2021, 15:08 kevin.pfeifer well basically you can do it anywhere before the Bake.initialize event is being called
# May 17th 2021, 15:07 paolo.bragagni cant we do it inside the 'theme' plugin?
# May 17th 2021, 15:07 paolo.bragagni I'd like to do it but not in my src/Application
# May 17th 2021, 15:06 kevin.pfeifer have you added the event listener to add the additional action which should be baked?
# May 17th 2021, 15:05 kevin.pfeifer so you already got a custom bake plugin working
# May 17th 2021, 15:05 kevin.pfeifer well basically yes but probably i can help you in more detail :)
# May 17th 2021, 15:05 paolo.bragagni no.. or.. yes.. you said to look at https://book.cakephp.org/bake/2/en/development.html#bake-events
# May 17th 2021, 14:57 neon1024 https://book.cakephp.org/authorization/2/en/request-authorization-middleware.html
# May 17th 2021, 14:57 neon1024 Ah found it
# May 17th 2021, 14:57 kevin.pfeifer so my comment from yesterday (or whenever I tried to explain that) didn't help?
# May 17th 2021, 14:50 neon1024 I don’t fancy updating all our tests and re-doing a big chunk of the project
# May 17th 2021, 14:49 neon1024 Sadly the Authorization docs don’t have a section on migrating from AuthComponent like the Authentication plugin docs do
# May 17th 2021, 14:48 neon1024 Is there a neat upgrade path from a customer 3.x Authorize class to the new Authorization plugin? Or do I need to make some Frankensteins Monster RoleAuthorizePolicy class?
# May 17th 2021, 14:09 virtudavi99 Yes/No?
# May 17th 2021, 13:09 neon1024 I guess it just looks big compared to `$this->Auth->user('id')`
# May 17th 2021, 13:05 ndm IMHO it's pretty straightforward
# May 17th 2021, 13:04 ndm I mean...
# May 17th 2021, 13:03 neon1024 Short of some nifty class aliases
# May 17th 2021, 13:03 neon1024 Thanks @ndm so I guess no elegant way then
# May 17th 2021, 13:02 neon1024 Perhaps that’s what the docblock means when it says path
# May 17th 2021, 13:01 neon1024 Strange that `getOriginalData` doesn’t take a dot hash
# May 17th 2021, 13:01 ndm `$this->Authentication->getIdentity()->organisation_id` `$this->Authentication->getIdentity()->get('organisation_id')` `$this->Authentication->getIdentityData('organisation_id')`
# May 17th 2021, 12:57 neon1024 Both seem very long
# May 17th 2021, 12:57 neon1024 `$this->getRequest()->getSession()->read('Auth.organisation_id');`
# May 17th 2021, 12:57 neon1024 `$this->Authentication->getIdentity()->getOriginalData()['organisation_id']`
# May 17th 2021, 12:57 neon1024 Is there a more elegant way to get Authentication data from the session?
# May 17th 2021, 12:36 richard @ndm thanks for your input, it does feel more appropriate to handle it with apache
# May 17th 2021, 12:35 ndm @richard I'd always use server level solutions for that, doing it on PHP level is just a waste of performance... so with Apache using rewrite rules would most likely the most fitting approach.
# May 17th 2021, 12:33 slackebot `$identity = new \Authentication\Identity($modifiedData);`.
# May 17th 2021, 12:33 ndm @kushan You'd have to be a bit more specific about what exactly it is that you don't understand about using it. It's just a callback, and it expects that you return an object that implements `\Authentication\IdentityInterface`, so basically you modify the data that it receives (in case required), and wrap it an object that satisfies the required contract. The most basic option would be to use the built in identity class, eg
# May 17th 2021, 12:13 richard is using apache my best bet or is cake application code a better way to tackle this
# May 17th 2021, 12:13 richard What is the best solution when redirecting urls from an old site to urls on a new site, the harder part is query string params from the old site have to be translated to query string params on the new site
# May 17th 2021, 12:03 kushan thanks @ndm but I believe, if I can set a custom decorator for LDAP auth, I can sort this issue without creating a new entity. I believe this is the answer, but I don't know how to use it https://book.cakephp.org/authentication/2/en/identity-object.html#using-a-custom-identity-decorator
# May 17th 2021, 12:00 slackebot that is concerned, you'd either need to supply the role ID (you could query the role entity by name maybe) to avoid the unique validation error, or disable validation, or set the entity properties on the object instead of passing them to `newEntity()`.
# May 17th 2021, 12:00 ndm Well, that doesn't really answer my question, as LDAP usernames might not be identical to your DB usernames, ie you could still have a matching profile for an LDAP user. I'm pressing on the DB querying because that would be the cleaner approach IMHO. However, if you do not have profiles for LDAP users, and do not intend to create any for them, so you really need to create "dummy entities" for them so to speak... then as far as
# May 17th 2021, 11:57 kushan as you could see when a user enters usernam/password, it first check in the app's db for a matching user. If it cannot find a matching user, then look for LDAP
# May 17th 2021, 11:57 kushan 2. ldap