nette/security
Nette Security provides authentication and authorization for PHP apps, with ready-to-use user identity, login/logout handling, roles and permissions, and easy integration with Nette Framework services for secure access control.
Guest identity – an IdentityHandler authenticator may now implement getGuestIdentity(): ?IIdentity to hand anonymous visitors a real identity. When present, getIdentity(), getId() and getRoles() transparently fall back to it, so guests carry their own roles and data instead of just the $guestRole string. The guest identity is resolved on read only and never written to storage.
$persistIdentity – the new User::$persistIdentity property lets you decide what happens to the identity after logout or expiration. It stays available for personalization by default; flip it to false and getIdentity()/getId() return null once the user is no longer logged in. Configurable straight from the security.authentication DI section.
SessionStorage no longer refreshes the sliding expiration timestamp once the session has already expired – an expired identity stays expired instead of being silently kept alive for another round
Adopted nette/phpstan-rules and made static analysis a mandatory part of the build, then resolved the errors it surfaced
Improved phpDoc types and descriptions across the codebase
A small maintenance release headlined by a fix to session-based identity storage, plus a tightening of the project's static analysis setup and a round of phpDoc polish.
nette/phpstan-rules and made static analysis a mandatory part of the build, then resolved the errors it surfaced$user => $username #73SessionStorage::setExpiration() does not overwrite data in the sessionverifyPassword()refreshStorage() to clear identity cache. (#46) (#50)User::setExpiration() second argument accept also bool $clearIdentitylogout() steps reorderinInRole() works with object RoleFor the details you can have a look at the diff.
[@Tracy](https://github.com/Tracy)\Bar nette/di#245hash(): Password can not be empty. (#47)For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
getAuthorizatorIfExists()hasAuthenticator() & hasAuthorizator()For the details you can have a look at the diff.
For the details you can have a look at the diff.
setFactory() instead of misused setClass()For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
hash() removed option 'salt' (BC break)For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
The first standalone release. For more information see readme.md.
How can I help you explore Laravel packages today?