Subject Re: [firebird-support] ROLE checking during login to firebird
Author Helen Borrie
At 18:07 27/09/2008, you wrote:
>Hello,
>
> It's a known "feaure" I think, but it's still not as it should be.
>
> If I log on to firebird server with username, password and role and
> I was not granted to the role or have misspelled the role, there is
> no visible reaction of firebird.
>
> I always have to check via
> SELECT current_role FROM RDB$DATABASE
> for example.
>
> I'd expect at least a warning.

What would the warning be about?

If the user and password are known to the server then the authentication succeeds. Any authenticated user has access to any database.

A role is a database-specific package of privileges to objects in that databases. If you are using privileges correctly then you should not have any grants to PUBLIC.

> Is the behavior of firebird according to SQL standard?

SQL doesn't have a "standard" regarding the scope of users. But privileges are a standard SQL implementation. Privileges apply to database objects. It is very important to design a privileges schema that ensures full control of access for any user. Were you aware that a user doesn't have to exist in the security database, in order to be granted privileges?

> Are there planes for changing the described behavior?

On Firebird, currently, *user authentication* is done at server level. In Fb 3, user authentication will be able to be more granular, i.e., security databases for each database or group of databases, if required.

./heLen