pagemachine / hairu
Flexible login/logout form based on Extbase/Fluid
Installs: 151 081
Dependents: 0
Suggesters: 1
Security: 0
Stars: 29
Watchers: 6
Forks: 19
Open Issues: 3
Type:typo3-cms-extension
Requires
- php: ^7.4
- typo3/cms-core: ^9.5.6 || ^10.4
- typo3/cms-extbase: ^9.5.6 || ^10.4
- typo3/cms-fluid: ^9.5.6 || ^10.4
- typo3/cms-frontend: ^9.5.6 || ^10.4
Requires (Dev)
- cakephp/cakephp-codesniffer: ^5.0
- codedungeon/phpunit-result-printer: ^0.32.0
- ergebnis/composer-normalize: ^2.8
- helmich/typo3-typoscript-lint: ^3.0
- nimut/testing-framework: ^6.0
- php-parallel-lint/php-console-highlighter: ^1.0.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phpunit/phpunit: ^9.0
- sclable/xml-lint: ^0.5.0
- slevomat/coding-standard: ^8.0
- squizlabs/php_codesniffer: ^3.0
Suggests
- typo3/cms-saltedpasswords: For password hashing in TYPO3v8
Replaces
- typo3-ter/hairu: 3.1.3
README
Flexible login/logout form based on Extbase/Fluid to replace the felogin extension shipped with TYPO3 CMS.
入る (hairu, Japanese) means "enter"
Installation
This extension is installable from various sources:
-
Via Composer:
composer require pagemachine/hairu
-
From the TYPO3 Extension Repository
-
From Github
After installation two new content elements Authentication form and Password edit form will be available in the Form elements section. Make sure to also include the static template.
Configuration
After including the static template a few options will be available in the Template Constant Editor for customization.
Make sure you set at least the Default storage PID to the page where your frontend user records are stored.
You can also use the stdWrap
property on any settings
value for custom processing. Example for easy translation of the password reset mail subject:
plugin.tx_hairu {
settings {
passwordReset {
mail {
subject.stdWrap.data = LLL:.../locallang.xlf:passwordReset.mail.subject
}
}
}
}
Password validation
The validation rules applied within the password reset and update process can be customized freely through TypoScript. Example from the default configuration:
plugin.tx_hairu {
// ...
mvc.validation {
// Validation of Authentication controller action arguments
Authentication {
// ...
completePasswordReset {
password {
1 {
type = StringLength
options {
minimum = 5
}
}
}
}
}
Password {
updatePassword {
password {
1 {
type = StringLength
options {
minimum = 5
}
}
}
}
}
}
}
You can use any validator type as long as Extbase can resolve it. In the example the builtin StringLength
validator is set with a minimum length of 5.
The following formats for the validator type are supported:
- Extbase builtin validators:
StringLength
(resolves toTYPO3\CMS\Extbase\Validation\Validator\StringLengthValidator
) - Fully qualified class name:
Vendor\Package\Validation\Validator\CustomValidator
- Shorthand syntax:
Vendor.Package:CustomValidator
(resolves toVendor\Package\Validation\Validator\CustomValidator
)
Issues
Found a bug? Need a feature? Let us know through our issue tracker.
Testing
All tests can be executed with the shipped Docker Compose definition:
docker-compose run --rm app composer build
Credits
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY