I have bound a business object to a ComponentOne grid through an instance of the BusinessBindingSource object. When I attached security keys to some of the business object's fields, it didn't seem to have any affect on the grid - users who do not have access to a field will be able to see it on the grid. Does field level security not work with the BusinessBindingSource object or am I doing something wrong? Thanks for your help.
Fran Parker
MaxQ Technologies, Inc.
These security fields will not be respected by the grid as far as showing up. Now if you use the replace with character then you will see the replacement character rather than the actual value.
Thanks for the quick reply. I must be doing something wrong. I used the Security Editor to create a permission with a denied action of "Replace Each Character". I then assigned that permission to a field of a grid bound business object and also to a field of a non-grid bound business object. My program includes the following two lines:
SecurityBasics.DefaultBlockedMsg = "Access Denied.";
When a user without the permission in question loads a record into the screen, the text box bound to the non-grid object's field will be filled with "Access Denied.". However, the grid column bound to the field in question shows the field's data. Any idea what I might have missed? Thanks again.
Fran
This logic is done within the BO and the property. I recommend binding the field to a regulary SF text box until you get the results you are looking for so you know that the BBS is not in the formula.
I was already using "Replace Each Character". I did as you suggested, however, and created a new project using the "StrataFrame Windows Application with Security" template. I then dropped text boxes bound to both of my business objects onto Form1. When a user without the required permission runs the test screen, the boxes bound to the fields in question both contain "Access Denied." rather than the replacement character. Any thoughts? Thanks.
Fran.
The second thing you can check is the CheckFieldSecurity event on the business object. When you handle the event on the form, you the event args will contain the values that are going to be used to block/replace the message. Check those 2 things and let me know.