RBS: Security Project PK not sent with INSERT from SecurityDialog


Author
Message
Alex Luyando
Alex Luyando
StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)StrataFrame User (298 reputation)
Group: StrataFrame Users
Posts: 112, Visits: 1.2K
Hi all -



I have an option in my application to run the SecurityDialog(). The problem I'm having is that the INSERT statements for adding new users, roles, etc. does not seem to know that my application's security project has a security project PK of 1, and therefore the INSERT into SFSUsers should reflect a us_sproj_pk of 1.



Clearly I'm missing something basic... what is it? I looked a my security settings in program.cs and they all look correct, and I know a datasource connection is taking place on startup. When I open the SecurityDialog at runtime (i.e., from the running app) I do see existing security records and can edit them; the problem seems only when adding new ones.



TIA

________________
_____/ Regards,
____/ al
Reply
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (4.8K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Lets step back a bit. You are typically dealing with two databases when you do security. First, there is the StrataFrame database. This is the one that uses the project ID. Typically you will put all you permsissions in here and likely a very few security users, if any, that are simply the ones you want in the database during a fresh install. You likely might also include roles here too. This allows for easier development. This data must then be deployed to the runtime database.



That is because the SF db isn't ever used at runtime and strictly speaking, isn't actually required. You must deploy the security database tables and optionally, the permissions/roles/base security users configured in the StrataFrame database. This is done most simply via the DDT. You then setup a connection to the database that contains the security tables in the SetDataSources method and you setup security keys/vectors in InitApplication. This database can be your main application database or a specialized security database....but never, ever is the StrataFrame database used at runtime. At runtime the project ID isn't every used: when you call the SecurityDialog at runtime, it just isn't used.



I just want to make sure you have this straight, because if don't have the connection to the runtime security database setup correctly and have your security data deployed, then things can get weird fast.
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search