Re: implement BLP model on Postgresql db

From: Scott Ribe <scott_ribe(at)elevated-dev(dot)com>
To: "Pourghorban(dot)S" <aras_h1988(at)yahoo(dot)com>
Cc: admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: implement BLP model on Postgresql db
Date: 2010-11-21 15:36:33
Message-ID: 418F58E7-A0B5-4F37-A5BB-8E2D0E3B4CBE@elevated-dev.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Nov 21, 2010, at 1:41 AM, Pourghorban.S wrote:

> yes I know the method for implement, but I do not know where I should implement necessary changes ....
> I know that I should add a additional column in my data base tables that show the level of access of each row.
> these level types is finite.
> and by the way I should add to a sql command which user issues, the condition that it checks whether he / she can access / gain the row he/ she want or not.
> But I don't know these two steps how and where I should implement.

Now at least you're giving us questions of "how do I do this in a database", rather than asking about how to write a thesis on a subject very few (if any) of us know about. That's progress ;-)

So you want to add a column to a table:

<http://www.postgresql.org/docs/9.0/static/sql-altertable.html>

You might want to create an enum type for the access level and use that as the column type:

<http://www.postgresql.org/docs/9.0/static/sql-createtype.html>

How the command should work is rather vague, you might want to create a stored function to evaluate access:

<http://www.postgresql.org/docs/9.0/static/sql-createfunction.html>
<http://www.postgresql.org/docs/9.0/static/plpgsql.html>

But that would depend on some enforcement in an application or middleware. A function that just checks access is not enough, you have to enforce it. And that is a more substantial project. You might be able to use rules. You might want to use view whose statements use current_user().

<http://www.postgresql.org/docs/9.0/static/sql-createrule.html>
<http://www.postgresql.org/docs/9.0/static/sql-createview.html>
<http://www.postgresql.org/docs/9.0/static/functions-info.html>

If you have a lot of pre-existing tables to which the access info must be added, you might want to use dynamic sql to automate adding that column.

But, given that "I should add a additional column in my data base tables that show the level of access of each row" seemed to be giving you trouble, you might want to first read an introductory book on SQL.

--
Scott Ribe
scott_ribe(at)elevated-dev(dot)com
http://www.elevated-dev.com/
(303) 722-0567 voice

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Kevin Grittner 2010-11-21 15:54:16 Re: implement BLP model on Postgresql db
Previous Message Pourghorban.S 2010-11-21 08:41:45 Re: implement BLP model on Postgresql db