Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:3400_how_to:0600_users_and_login [2026/04/01 01:02] aware_support3docs:3400_how_to:0600_users_and_login [2026/04/01 01:07] (current) aware_support3
Line 10: Line 10:
   - Make sure that the default visual perspective for the Administrator access level includes the menu item of the Create Object type that allows creating instances of the predefined RegularUser business object (//**AwareIM**// includes such an item by default) – see the “[[docs:2500_config_apps:1500_add_edit_vp:0100_working_with_vp_editor:0500_defining_layout_of_content_panels:1100_setting_menu_item_props|Setting Menu Item Properties]]” section and [[docs:3400_how_to:0100_awareim_basics:0090_create_records]].   - Make sure that the default visual perspective for the Administrator access level includes the menu item of the Create Object type that allows creating instances of the predefined RegularUser business object (//**AwareIM**// includes such an item by default) – see the “[[docs:2500_config_apps:1500_add_edit_vp:0100_working_with_vp_editor:0500_defining_layout_of_content_panels:1100_setting_menu_item_props|Setting Menu Item Properties]]” section and [[docs:3400_how_to:0100_awareim_basics:0090_create_records]].
   - Make sure that the default visual perspective for the user access level does not allow creating the RegularUser business object, but does include the menu item of the Change Login Details type that allows users to change their initial login name and password.   - Make sure that the default visual perspective for the user access level does not allow creating the RegularUser business object, but does include the menu item of the Change Login Details type that allows users to change their initial login name and password.
-  - Once the application has been configured and published the system administrator has to log in the operation mode using the administrator password (see the Full User Login, Interactive entry in the “[[docs:2000_concepts:0900_prod_feats:0100_access_control:0200_login|Login]]” section). The administrator password is the same password as the one used to log into the Configuration Tool (see also [[docs:3400_how_to:0600_users_and_login:0850_config_tool_passwords]]).+  - Once the application has been configured and published the system administrator has to log in the operation mode using the administrator password (see the Full User Login, Interactive entry in the “[[docs:2000_concepts:0900_prod_feats:0100_access_control:0200_login|Login]]” section). The administrator password is the same password as the one used to log into the Configuration Tool (see also [[docs:3400_how_to:0600_users_and_login]]).
   - Once inside the Operation Mode the system administrator has to create instances of the RegularUser object – one instance per user. When creating instances of the ''RegularUser'' object the system administrator has to specify values for the following attributes - login name, password and access level. Thus the new user of the system will be assigned the initial login name, the initial password and a particular access level.    - Once inside the Operation Mode the system administrator has to create instances of the RegularUser object – one instance per user. When creating instances of the ''RegularUser'' object the system administrator has to specify values for the following attributes - login name, password and access level. Thus the new user of the system will be assigned the initial login name, the initial password and a particular access level. 
   - Users can now log into the system using the assigned login names and password and then change these initial values using the menu item of the Change Login Details type. The users should not be able to change the value of access level assigned by the system administrator.   - Users can now log into the system using the assigned login names and password and then change these initial values using the menu item of the Change Login Details type. The users should not be able to change the value of access level assigned by the system administrator.
Line 44: Line 44:
 <panel type="primary" title="allow non-registered users to self-register"> <panel type="primary" title="allow non-registered users to self-register">
 Make sure that you include menu item of the Register User type into the visual perspective for the Guest access level – see [[docs:3400_how_to:0600_users_and_login:0860_guest_access|How to allow non-registered users to access the system]]. You can also define a special form in the business object that represents a user, which will be used for this occasion – see the “[[docs:2500_config_apps:0500_add_edit_objects:0200_defining_forms|Defining Business Object Forms]]” section, [[docs:3400_how_to:0600_users_and_login:0810_setup_users]]. Make sure that you include menu item of the Register User type into the visual perspective for the Guest access level – see [[docs:3400_how_to:0600_users_and_login:0860_guest_access|How to allow non-registered users to access the system]]. You can also define a special form in the business object that represents a user, which will be used for this occasion – see the “[[docs:2500_config_apps:0500_add_edit_objects:0200_defining_forms|Defining Business Object Forms]]” section, [[docs:3400_how_to:0600_users_and_login:0810_setup_users]].
 +</panel>
 +
 +<panel type="primary" title="refer to the current user in rules">
 +You can use LoggedIn prefix – see the “[[docs:2000_concepts:0800_data_processing:0100_rule_evaluation:0800_context_rule_execution:0200_instance_prefixes|Instance Prefixes]]” section. For example,
 +
 +<code aim>IF LoggedInLibraryMember.LoginName ='john smith' THEN ... </code>
 +</panel>
 +
 +<panel type="primary" title="use Active Directory / LDAP for login">
 +This is explained in the “[[docs:2500_config_apps:2300_external_sys_ldap:0300_ldap_for_login|Using LDAP/Active Directory for Login]]” section.
 +</panel>
 +
 +<panel type="primary" title="implement “forgotten password” functionality">
 +Your application may need to provide the “forgotten password” functionality. Usually this functionality asks the user one or more security questions and then compares their answers with predefined values. Then the system either tells/e-mails the password to the user or asks them to provide the new password. It is entirely up to you how you want to handle this. In order to define the forgotten password functionality you need to do the following:
 +
 +  - Define a process that would handle this functionality – ask the user the security questions, compare answers, set new password etc
 +  - Tick the “Handles forgotten password” functionality checkbox when defining the process
 +  - Use the login form that includes the link that invokes the “forgotten process” functionality. The name of the predefined form is ''login2.html''. Alternatively you can provide your own login form and include the link to the following URL:
 +
 +<code aim>logonFP.aw?domain=YourBusinessSpaceName </code>
 +
 +The link will automatically start the process that is marked as “handles forgotten password” functionality.
 +</panel>
 +
 +<panel type="primary" title="set up Login via Facebook, Twitter and Google">
 +If you want your users to be able to login to AwareIM automatically using their existing Facebook, Twitter or Google accounts you need to do the following:
 +
 +  - Register your application as Facebook, Twitter or Google developer (see [[docs:3400_how_to:0900_other_systems:1320_register_with_fb]],  [[docs:3400_how_to:0900_other_systems:1330_register_twitter]], [[docs:3400_how_to:0900_other_systems:1340_register_ggl]] sections for more details)
 +  - In the Configuration Tool double click on the business space version you want to change and then select the Login Options property from the list of properties.
 +  - Tick the corresponding checkbox to allow login via a particular account, for example Allow Login via Facebook
 +  - Click on the Settings button next to the tickbox.
 +  - Enter the application id and secret obtained from step 1.
 +  - Alternatively go to the ''SystemSettings'' business object and add two attributes to this object to hold the values of the application ID and secret (that is, if you want system administrators to be able to do this at run-time)
 +Then specify these attributes in the Settings dialog.
 +
 +  - It is important to understand that when the user logs in via Facebook, Twitter or Google AwareIM will find the instance of the user object that corresponds to the current user. Therefore, you need to indicate which type of the user object //**AwareIM**// should look for, i.e. you need to indicate the member of the ''SystemUser'' group in the user drop down. 
 +  - You should then select the attributes that Facebook, Twitter or Google provides that should map to the attributes of the selected user object. For example, you can map the id attribute provided by Facebook to the LoginName attribute of the user. Every time a user with this Facebook id logs in AwareIM will find the corresponding user object with the value of LoginName equal to this id.
 +  - You should also tick the “Allow creating the object automatically…” checkbox if you want //**AwareIM88// to automatically create a user instance if this instance has not been found. Note that the user object should not have any mandatory attributes that are not provided by Facebook, Twitter or Google, otherwise AwareIM will not be able to create the instance automatically
 +  - The user can then a special URL to login. See see [[docs:3400_how_to:0900_other_systems:1320_register_with_fb]],  [[docs:3400_how_to:0900_other_systems:1330_register_twitter]], [[docs:3400_how_to:0900_other_systems:1340_register_ggl]] for more details
 +</panel>
 +
 +<panel type="primary" title="store “session” values – values that exist only during user session">
 +Sometimes it may be necessary to store some values specific to the session of a particular user – for example, remember current selection of the user. You may want to use such values in rules, but you don’t want them to be persisted in the database, because they do not make sense when the user logs out.
 +
 +//**AwareIM**// supports a concept of the “session object”. The instance of this object is created once per user – when the user logs in. This instance then becomes automatically available in Context of business rules (you don’t need to find it), for example 
 +<code aim>IF MySessionObject.CurrentSelection = 'abc' THEN ... </code>
 +
 +To define such an object you can create any object with any attributes as required and then set its Persistence property to “Not Persisted”. You should then tick the “Stores session values” checkbox to indicate that this object is the “session” object. Note that you can set only one business object as “session” object.
 </panel> </panel>
  
 </accordion> </accordion>