PasswordFieldDefinition renders two text boxes for entry and verification of passwords. The
input text is masked in the field, but the value is stored as clear text
in the JCR.
If you want to store hashed password values, you can:
Use the password field to collect the value of the password entered by
the user and delegate the storage of the password and hashing to an
underlying
user
manager. The user manager may be an internal Magnolia user manager or
an external user manager. See the
Security app for an example of
this approach.
Configure BCryptTransformer
in the password field by specifying a transformerClass property in the
field definition:
If you store a hashed value, you can no longer decode it to
clear text. This is suitable when you want to authenticate against the
password and only compare the stored hash against the hash of the
password provided when logging in. If you need passwords in plain text
so that they can be used to access other systems requiring
authentication, we recommend you use the Magnolia
Password Manager
module.
Verifies that the contents of the two boxes match. When set to false,
the verification (second) box is not rendered.
verificationMessage
optional, default is field.password.verificationMessage
Text displayed above the field. Appears as Please verify your entry
retrieved from a message bundle.
verificationErrorMessage
optional, default is field.password.verificationErrorMessage
Text displayed when passwords do not match. Appears as ``Passwords do
not match'' retrieved from a
message bundle.
Common field properties - 5 UI
Property
Description
fieldType`or `class
required
Defines the field type via either a field alias name or a
fully-qualified field definition class name. See
Field
definition: Field types.
To check the correct form of the name, use the
Definitions app.
defaultValue
optional
Pre-filled default value displayed in the field. The value can be
overwritten by the user. Use alphanumeric characters.
Applied only when creating a new item, not for
already existing items.
description
optional
Help text displayed when the user clicks the help icon. The value can be
literal or retrieved from the
message bundle with
a key. Use alphanumeric characters in literal values. Not applicable to
the
static
field.
i18n
optional, default is false
Enables i18n
authoring support which allows editors to write foreign-language or
regionally targeted content. A two-letter language identifier (en, de,
fr etc.) is displayed on controls where i18n is set to true.
i18nBasename
optional, default is the message bundle defined in the dialog
definition_
Message bundle such
as com.example.messages for localized field labels. You can set this
property in the parent
dialog,
form
or tab definition. Child fields will inherit the bundle.
label
optional
Field label displayed to editors. The value can be literal such as
Product name or retrieved from the
message bundle with
a key such as products.product.label. Use alphanumeric characters in
literal values.
If you do not provide the property, Magnolia will fall back to a
generated i18n key and display the key in the UI.
If you do not want a label at all, define the property and set its value
to a blank space such as label: " " in YAML.
name
optional, default is the name of the field’s parent node_
Name of the node where the value is saved. The name jcrName is
reserved. Use alphanumeric characters.
placeholder
optional
Placeholder text to be displayed when the field is empty. The value is
i18n-able.
Makes the field uneditable. Adding this property has the same effect as
creating a
static
field.
required
optional, default is false
Makes the field required (mandatory). An asterisk is displayed next to
the field label. See also
Checking
for null values.
requiredErrorMessage
optional, default is This field is required
Error message displayed when required is true and the user saves an
empty field. The value can be literal or retrieved from the
message bundle with
a key such as validation.message.required.
styleName
optional
Adds one or more style names to this component. Multiple styles can be
specified as a space-separated list of style names such as
checkbox disabled. The style name will be rendered as an HTML class
name, which can be used in a CSS definition. The class name is added to
the field by calling the Vaadin method
addStyleName.
transformerClass
optional
Property transformer classes define how field values are stored in the
repository. Each field has a default transformer class. You don’t need
to define a class unless you want to override the default. The value is
a fully-qualified class name.
Complex field definitions may define a different default
transformer in their constructor. See
Transforming
field values for more.
type
optional, most fields set a default value automatically
JCR property type of the stored value such as String, Boolean,
Date or any other supported and defined data type.
Add
validators
to define your own password policy such as minimum length and character
types.