NIHVIVO-2920 discuss upgrades to user accounts system.
This commit is contained in:
parent
2137af2798
commit
880cc32ebf
2 changed files with 208 additions and 11 deletions
|
@ -52,7 +52,12 @@ manual review</a></li>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="template">Template Changes</a> (RY)</li>
|
<li><a href="template">Template Changes</a> (RY)</li>
|
||||||
<li><a href="listview">List View Changes</a> (RY)</li>
|
<li><a href="listview">List View Changes</a> (RY)</li>
|
||||||
<li><a href="authorization">Authorization Changes</a> (JB)<br>
|
<li><a href="authorization">Authorization Changes</a><br>
|
||||||
|
<ol class="roman2">
|
||||||
|
<li> <a href="#accounts_created">User Accounts are created for externally authenticated users</a> </li>
|
||||||
|
<li> <a href="#email_on_accounts">E-mail address becomes an important part of User Accounts</a></li>
|
||||||
|
<li> <a href="#root_account">Each VIVO installation will have a “root” account</a></li>
|
||||||
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="#setup_sdb">Set Up SDB Store in the Background
|
<li><a href="#setup_sdb">Set Up SDB Store in the Background
|
||||||
(Optional)</a> </li>
|
(Optional)</a> </li>
|
||||||
|
@ -521,15 +526,207 @@ fragments to be used only in the collated version of the query. </li>
|
||||||
<li>This and other changes are documented in
|
<li>This and other changes are documented in
|
||||||
vitro/doc/list_view_configuration_guidelines.txt.</li>
|
vitro/doc/list_view_configuration_guidelines.txt.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3 id="authorization">VII. Authorization changes [see JB for further
|
|
||||||
details]</h3>
|
|
||||||
|
<h3 id="authorization">VII. Authorization changes</h3>
|
||||||
|
<p>
|
||||||
|
In release 1.3, the VIVO authorization system has some extensive changes.
|
||||||
|
In summary, these are:
|
||||||
<ul>
|
<ul>
|
||||||
<li>selfEditing.idMatchingProperty will now match String literals as
|
<li>
|
||||||
well as untyped literals.</li>
|
Each user will have a user account,
|
||||||
<li>'initialAdminUser' property is replaced by
|
even if the user logs in by Shibboleth or some other external authentication system.
|
||||||
'rootUser.emailAddress' - initial password is 'rootPassword'</li>
|
</li>
|
||||||
<li>Tell what happens to user accounts in the migration.</li>
|
<li>
|
||||||
|
E-mail is used to notify user's when an account is created for them,
|
||||||
|
or when an administrator edits their account.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
A "root" user account exists which has access to all pages and all data fields.
|
||||||
|
This is a powerful tool that can hold some surprises.
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h4 id="accounts_created">i. User Accounts are created for externally authenticated users</h4>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
With release 1.3, each authenticated user will have a user account.
|
||||||
|
If someone logs in using an external authentication system,
|
||||||
|
and no user account matches their external login credentials,
|
||||||
|
an account will be created.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The user will be prompted to enter information for the account being created:
|
||||||
|
first name, last name, and e-mail address.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 id="email_on_accounts">ii. E-mail address becomes an important part of User Accounts</h4>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
Prior to release 1.3, each user account was identified by a Username field.
|
||||||
|
This field was labeled as “E-mail address” on some pages in VIVO,
|
||||||
|
but so mail was ever sent.
|
||||||
|
In release 1.3, this has changed, so the e-mail address is fully used,
|
||||||
|
both for identification and for communication with the user.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h5>a. User Account data is restructured</h5>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
Prior to release 1.3, the Username field (also referred to as “e-mail address”)
|
||||||
|
was used for several purposes:
|
||||||
|
<ul>
|
||||||
|
<li>Idenfiying the user account.</li>
|
||||||
|
<li>Part of the user’s credentials when logging in (along with a password).</li>
|
||||||
|
<li>Connecting the user account to an external authentication system, like Shibboleth or CUWebAuth.</li>
|
||||||
|
<li>Connecting the user account to a personal Profile page.</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
With release 1.3, these functions are handled by two separate fields
|
||||||
|
called EmailAddress field and ExternalAuthId.
|
||||||
|
<ul>
|
||||||
|
<li>EmailAddress is used when logging in (along with a password).</li>
|
||||||
|
<li>EmailAddress is used to send notifications to the user about changes to his/her account (see below).</li>
|
||||||
|
<li>The ExternalAuthId is used when logging in using an external authentication system.</li>
|
||||||
|
<li>
|
||||||
|
The ExternalAuthId is used to connect the user account to a personal Profile page.
|
||||||
|
<blockquote>
|
||||||
|
<strong>Note:</strong> With release 1.3, the ExternalAuthId can now be matched against
|
||||||
|
either an untyped literal or a string literal in the Profile page.
|
||||||
|
</blockquote>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
There are other changes to the internal structure of the user accounts data,
|
||||||
|
but they are important mostly to the VIVO software developers,
|
||||||
|
and you are not likely to notice them.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h5>b. Existing User Accounts are migrated</h5>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
If you are upgrading to VIVO release 1.3 from an existing VIVO installation,
|
||||||
|
the user accounts in your system will be migrated into the new data structures.
|
||||||
|
When migrating an account, both the EmailAddress field and the ExternalAuthId field
|
||||||
|
will be set to the value of the Username field in the old account.
|
||||||
|
The new account should behave as the old account did.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
When creating a new user account, or editing an existing one,
|
||||||
|
the system requires that your e-mail address be in a valid form,
|
||||||
|
like <code>somebody@somewhere.edu</code>.
|
||||||
|
You should plan for this as part of your migration to release 1.3
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h5>c. E-mail is incorporated into the workflow for User Accounts</h5>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
With release 1.3, VIVO users receive e-mail notifications
|
||||||
|
when an account is created or modified for them or by them.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
When an administrator creates a user account,
|
||||||
|
the user will receive an e-mail notification,
|
||||||
|
telling them that the account has been created,
|
||||||
|
and providing a link to VIVO that will allow them to set a password on the account.
|
||||||
|
<blockquote>
|
||||||
|
<strong>Note:</strong> when creating the account,
|
||||||
|
the administrator may indicate that it will only be used
|
||||||
|
with an external authentication system like Shibboleth or CUWebAuth.
|
||||||
|
In this case, the account will not require a password,
|
||||||
|
and the e-mail notification message to the user will not provide a password link.
|
||||||
|
</blockquote>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
When an administrator edits a user account, he may choose to reset the password.
|
||||||
|
As with a new account, the user will receive notification
|
||||||
|
with a link to VIVO that will allow them to set a new password.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If a user changes the e-mail address on his account,
|
||||||
|
he will receive a notification message to that effect.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If a user account is auto-created for a user with external authentication credentials,
|
||||||
|
the user will receive a notification message.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h5>d. Disabling e-mail notificiation</h5>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
The e-mail notification relies on two configuration properties:
|
||||||
|
<code>email.smtpHost</code> and <code>email.replyTo</code>.
|
||||||
|
If either of these properties is missing or empty,
|
||||||
|
VIVO will not attempt to send e-mail notifications to users.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This can be useful for small or experimental installations of VIVO,
|
||||||
|
or where e-mail notification is not desired.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If e-mail notifications are disabled,
|
||||||
|
an administrator must set a password on each new account,
|
||||||
|
since the user will have no way of setting it.
|
||||||
|
When the user logs in for the first time,
|
||||||
|
VIVO will require them to change their password to one of their own choosing.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 id="root_account">iii. Each VIVO installation will have a “root” account.</h4>
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<p>
|
||||||
|
Prior to release 1.3, each VIVO installation was created with a default administrator’s account.
|
||||||
|
In release 1.3, there is no such account.
|
||||||
|
Instead, each VIVO installation will have a “root” account.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The email address for the root account is specified in deploy.properties, like this:
|
||||||
|
<pre>rootUser.emailAddress = vivo_root@mydomain.edu</pre>
|
||||||
|
The password for this account is automatically set to <code>rootPassword</code>,
|
||||||
|
but you will be required to change the password the first time you log in.
|
||||||
|
<blockquote>
|
||||||
|
<strong>Note:</strong> the <code>initialAdminUser</code> is no longer use.
|
||||||
|
</blockquote>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The root account is not a site administrator’s account –
|
||||||
|
it is more powerful than a site administrator’s acocunt.
|
||||||
|
The root account is permitted to visit any page in a VIVO application.
|
||||||
|
It is permitted to see any data property, and to enter data into any field.
|
||||||
|
As such, the root account can be very useful and rather dangerous.
|
||||||
|
It can also give you a distorted view of what your VIVO site looks like,
|
||||||
|
since data is shown which other accounts cannot see.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The root account is not intended for routine, every day use.
|
||||||
|
The best way to use the root account is to create a site administrator’s account.
|
||||||
|
After that, use the root account only when necessary.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
<h3 id="setup_sdb">VIII. Set Up SDB Store in the Background (Optional)</h3>
|
<h3 id="setup_sdb">VIII. Set Up SDB Store in the Background (Optional)</h3>
|
||||||
<p> If your VIVO installation is running in RDB mode, and you'd like to
|
<p> If your VIVO installation is running in RDB mode, and you'd like to
|
||||||
convert to SDB, you can start the conversion process in the background
|
convert to SDB, you can start the conversion process in the background
|
||||||
|
|
|
@ -72,8 +72,8 @@ vitro.home.directory = /usr/local/vivo/data
|
||||||
# the "Contact Us" form will be disabled and users will not be notified of
|
# the "Contact Us" form will be disabled and users will not be notified of
|
||||||
# changes to their accounts.
|
# changes to their accounts.
|
||||||
#
|
#
|
||||||
email.smtpHost = smtp.my.domain.edu
|
email.smtpHost = smtp.mydomain.edu
|
||||||
email.replyTo = vivoAdmin@my.domain.edu
|
email.replyTo = vivoAdmin@mydomain.edu
|
||||||
|
|
||||||
#
|
#
|
||||||
# The basic parameters for a database connection. Change the end of the
|
# The basic parameters for a database connection. Change the end of the
|
||||||
|
@ -110,7 +110,7 @@ VitroConnection.DataSource.validationQuery = SELECT 1
|
||||||
# for this user is initially set to "rootPassword", but you will be asked to
|
# for this user is initially set to "rootPassword", but you will be asked to
|
||||||
# change the password the first time you log in.
|
# change the password the first time you log in.
|
||||||
#
|
#
|
||||||
rootUser.emailAddress = root@myDomain.com
|
rootUser.emailAddress = vivo_root@mydomain.edu
|
||||||
|
|
||||||
#
|
#
|
||||||
# How is a logged-in user associated with a particular Individual? One way is
|
# How is a logged-in user associated with a particular Individual? One way is
|
||||||
|
|
Loading…
Add table
Reference in a new issue