db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-866) Derby User Management Enhancements
Date Mon, 12 Dec 2011 13:26:30 GMT

    [ https://issues.apache.org/jira/browse/DERBY-866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13167489#comment-13167489

Rick Hillegas commented on DERBY-866:

Thanks for continuing to  help me think about this issue, Mike and Bryan. I believe that the
scenarios you want to see should be possible to configure. Some responses follow:

Mike asks: "Is it necessary to have a separate credentials database in a system with multiple
databases, or is that an option?" It is an option. The credentials database could just be
one of the databases already managed by the application.

Bryan asks: "Would it help to have a configuration option for the NetworkServer where it could
be explicitly
pointed at a specific database and told 'use the credentials in THIS database for overall
authentication'?" Perhaps what you are asking for is a simple way to configure the following

i) When connecting to an existing database, use the NATIVE credentials in that database.

ii) When authenticating system-wide actions (server startup/shutdown, create/restore database),
use the credentials in a specially designated credentials DB (which could be one of the existing
databases or could be another, separate database).

Bryan's use can be configured as follows:

1) Create empty application databases without authentication (but supply credentials so that
a dbo account is created).

2) In each of those databases, set derby.authentication.provider=NATIVE::

3) Bring down the installation.

4) Now reboot the installation, setting the following property on the command line: derby.authentication.provider=NATIVE:networkServerCredentialsDB

5) Continue creating the schemas in your application databases.

If you can help me describe the scenarios which should be easiest to configure, I can adjust
the api to make this possible.

In any event, did I understand your scenario correctly, Bryan?

> Derby User Management Enhancements
> ----------------------------------
>                 Key: DERBY-866
>                 URL: https://issues.apache.org/jira/browse/DERBY-866
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions:
>            Reporter: Francois Orsini
>            Assignee: Rick Hillegas
>         Attachments: Derby_User_Enhancement.html, Derby_User_Enhancement_v1.1.html, DummyAuthenticator.java,
UserManagement.html, UserManagement.html, UserManagement.html, derby-866-01-aa-sysusers.diff,
derby-866-01-ab-sysusers.diff, dummyCredentials.properties
> Proposal to enhance Derby's Built-In DDL User Management. (See proposal spec attached
to the JIRA).
> Abstract:
> This feature aims at improving the way BUILT-IN users are managed in Derby by providing
a more intuitive and familiar DDL interface. Currently (in, Built-In users can be
defined at the system and/or database level. Users created at the system level can be defined
via JVM or/and Derby system properties in the derby.properties file. Built-in users created
at the database level are defined via a call to a Derby system procedure (SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY)
which sets a database property.
> Defining a user at the system level is very convenient and practical during the development
phase (EOD) of an application - However, the user's password is not encrypted and consequently
appears in clear in the derby.properties file. Hence, for an application going into production,
whether it is embedded or not, it is preferable to create users at the database level where
the password is encrypted.
> There is no real ANSI SQL standard for managing users in SQL but by providing a more
intuitive and known interface, it will ease Built-In User management at the database level
as well as Derby's adoption.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message