﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Role Based Security  » BusinessBindingSource and Field Level Secuirty.</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Wed, 13 May 2026 08:17:05 GMT</lastBuildDate><ttl>20</ttl><item><title>BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7794.aspx</link><description>Hello,&lt;/P&gt;&lt;P&gt;I have bound a business object to a ComponentOne grid through an instance of the BusinessBindingSource object.&amp;nbsp; 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.&amp;nbsp; Does field level security not work with the BusinessBindingSource object or am I doing something wrong?&amp;nbsp; Thanks for your help.&lt;/P&gt;&lt;P&gt;Fran Parker&lt;/P&gt;&lt;P&gt;MaxQ Technologies, Inc.</description><pubDate>Wed, 11 Apr 2007 08:51:48 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost8057.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;No trouble - I just wanted to make sure that I wasn't doing something wrong.&amp;nbsp; Thanks for the update!&lt;/P&gt;&lt;P&gt;Fran.</description><pubDate>Wed, 11 Apr 2007 08:51:48 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost8044.aspx</link><description>Fran,&lt;P&gt;The BBS at the moment is not respecting the security fields as it relates to binding to a grid and having the same native functionality as bound to any other type of control.&amp;nbsp; This is due to the nature of the IBindindList&amp;nbsp;interface and how it interacts with the grid.&amp;nbsp; This is going to take some time to work through and as soon as we have a solution we will let you know.&amp;nbsp; Sorry for any trouble.</description><pubDate>Tue, 10 Apr 2007 23:48:02 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost8024.aspx</link><description>For what it's worth, I added a standard DataGridView control to my test screen (to remove ComponentOne from the loop) and that didn't help.&amp;nbsp; So, it seems as though field level security is not enforced when a BusinessBindingSource object is used.&amp;nbsp; Can you guys confirm this?&amp;nbsp; Thanks.&lt;/P&gt;&lt;P&gt;Fran.</description><pubDate>Tue, 10 Apr 2007 11:36:08 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7901.aspx</link><description>Any thoughts on my grid problem?&amp;nbsp; Thanks.&lt;/P&gt;&lt;P&gt;Fran.</description><pubDate>Wed, 04 Apr 2007 16:13:06 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7828.aspx</link><description>Ben,&lt;/P&gt;&lt;P&gt;Thanks for the info.&amp;nbsp; Now I understand why I wasn't getting the denied action I expected.&lt;/P&gt;&lt;P&gt;Unfortunately, however, I'm still having trouble with my grid screen.&amp;nbsp; I changed the CheckSecurityOnFields property of my object to Always (it had been set to WhenPermissionKeySet) and still the CheckFieldSecurity event is not being fired.&amp;nbsp; On my non-grid test screen, the event does get fired.&amp;nbsp; So, it seems as though having the object bound to the grid is preventing the event from being raised.&amp;nbsp; Any thoughts?&amp;nbsp; Thanks for your help.&lt;/P&gt;&lt;P&gt;Fran.</description><pubDate>Mon, 02 Apr 2007 13:04:48 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7822.aspx</link><description>Ah, yes, when you don't explicitly set a permission on a user, the DefaultPermissionInfo is used for that permission.&lt;/P&gt;&lt;P&gt;I will add an enhancement request to retrieve the DeniedAction from the database when a user is denied by default rather than explicitly denied.&lt;/P&gt;&lt;P&gt;As for the CheckFieldSecurity event, you have to set the CheckFieldSecurity property on the business object so that the event will be raised.&amp;nbsp; Otherwise, the event never gets raised for you to handle it.&amp;nbsp; Sorry I left that out earlier.</description><pubDate>Mon, 02 Apr 2007 11:45:52 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7814.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;I did as you suggested and found that the deny action was Message in both circumstances.&amp;nbsp; With a little further experimenting, I found that this value would always be whatever the default denied action was.&amp;nbsp; So, I can get my test screen, the one without a grid, to behave the way I want if I setup the default permission info as follows:&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SecurityBasics&lt;/FONT&gt;&lt;FONT size=2&gt;.DefaultPermissionInfo = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;PermissionInfo&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;PermissionAction&lt;/FONT&gt;&lt;FONT size=2&gt;.Deny,&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Access Denied."&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;DeniedActions&lt;/FONT&gt;&lt;FONT size=2&gt;.ReplaceEachCharacter);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;A related thing I noticed by running SQL Profiler is that my screen doesn't make any attempt to find out what the denied action should be for a permission that I don't have.&amp;nbsp; After logging in, the screen executes the following SQL statement which returns only the list of permissions that I have been assigned:&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;exec&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;sp_executesql&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; N&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'SELECT * FROM [dbo].[SFSUserPermissionInfo] WHERE us_pk = @us_pk ORDER BY pm_pk'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;N&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;'@us_pk int'&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;,&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt;@us_pk&lt;/FONT&gt;&lt;FONT color=#808080 size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;Anything permission that I haven't been assigned just uses the DefaultPermissionInfo.&amp;nbsp; For what its worth, my test user is not a memeber of any roles.&lt;/P&gt;&lt;P&gt;Anyway, getting back to my grid screen, changing the default denied action didn't have any affect on the grid.&amp;nbsp; Also, I noticed that the CheckFieldSecurity event never gets fired for the business object bound to the grid.&lt;/P&gt;&lt;P&gt;Thanks for your help.&lt;/P&gt;&lt;P&gt;Fran.&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Fri, 30 Mar 2007 10:20:49 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7812.aspx</link><description>[quote][b]Trent L. Taylor (03/29/2007)[/b][hr]No worries :) We use Snagit from Tech Smith. We have met these guys before and they not only have a great product but are really good people as well. (&lt;A href="http://www.snagit.com"&gt;www.snagit.com&lt;/A&gt; )[/quote]&lt;br&gt;
&lt;br&gt;
Thanks Trent. You did a nice job on the screen shot. Nice &amp; clean!</description><pubDate>Thu, 29 Mar 2007 19:24:44 GMT</pubDate><dc:creator>Ben Hayat</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7809.aspx</link><description>No worries :)&amp;nbsp; We use Snagit from Tech Smith.&amp;nbsp; We have met these guys before and they not only have a great product but are really good people as well.&amp;nbsp;&amp;nbsp; (&lt;A href="http://www.snagit.com"&gt;www.snagit.com&lt;/A&gt; )</description><pubDate>Thu, 29 Mar 2007 18:31:00 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7807.aspx</link><description>Sorry Trent, I meant to quote your screen shot, but I picked Fran's by mistake!</description><pubDate>Thu, 29 Mar 2007 17:12:44 GMT</pubDate><dc:creator>Ben Hayat</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7806.aspx</link><description>[quote][b]fparker (03/29/2007)[/b][hr]Trent,&lt;br&gt;
&lt;br&gt;
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:&lt;br&gt;
&lt;br&gt;
&lt;FONT color=#2b91af size=2&gt;SecurityBasics&lt;/FONT&gt;&lt;FONT size=2&gt;.DefaultBlockedMsg = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Access Denied."&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;br&gt;
&lt;br&gt;
&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SecurityBasics&lt;/FONT&gt;&lt;FONT size=2&gt;.BlockedReplacementCharacter = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;'*'&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;br&gt;
&lt;br&gt;
&lt;FONT size=2&gt;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.&lt;/FONT&gt;&lt;br&gt;
&lt;br&gt;
&lt;FONT size=2&gt;Fran&lt;/FONT&gt;[/quote]&lt;br&gt;
&lt;br&gt;
Trent, nice screen shot! Would you mind shareing what tool did you use to make the borders of the screen shot like that and also dim the color of the shot and then hightlight the area?&lt;br&gt;
&lt;br&gt;
Or did you use the capabilities of the "InstantForum" to do so?&lt;br&gt;
Thanks!</description><pubDate>Thu, 29 Mar 2007 17:10:58 GMT</pubDate><dc:creator>Ben Hayat</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7805.aspx</link><description>After the user logs in, add a breakpoint somewhere in your app (doesn't matter where) and in the watch window, check the value of the MicroFour.StrataFrame.Security.SecurityBasics.CurrentUser.GetPermission("&amp;lt;permissionname&amp;gt;"); where you replace &amp;lt;permissionname&amp;gt; with the name of the permission you assigned to the user.&amp;nbsp; The returned value will be&amp;nbsp;a PermissionInfo object that will contain the access level and the blocked message.&amp;nbsp; Check to see if the DeniedAction is Message or if it is ReplaceEachChar.&amp;nbsp; &lt;/P&gt;&lt;P&gt;The second thing you can check is the CheckFieldSecurity event&amp;nbsp;on the business object.&amp;nbsp; 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.&amp;nbsp; Check those 2 things and let me know.</description><pubDate>Thu, 29 Mar 2007 17:06:41 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7804.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;I was already using "Replace Each Character".&amp;nbsp; I did as you suggested, however, and created a new project using the "StrataFrame Windows Application with Security" template.&amp;nbsp; I then dropped text boxes bound to both of my business objects onto Form1.&amp;nbsp; 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.&amp;nbsp; Any thoughts?&amp;nbsp; Thanks.&lt;/P&gt;&lt;P&gt;Fran.</description><pubDate>Thu, 29 Mar 2007 16:32:42 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7801.aspx</link><description>You have to set the permission of the action to "Replace Each Character" in order for the replacement text to work properly.&lt;/P&gt;&lt;P&gt;&lt;IMG src="http://forum.strataframe.net/Uploads/Images/e6c2a1b6-236c-40ed-9baf-38dd.jpg"&gt;&lt;/P&gt;&lt;P&gt;This logic is done within the BO and the property.&amp;nbsp; 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.</description><pubDate>Thu, 29 Mar 2007 15:32:35 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7799.aspx</link><description>Trent,&lt;/P&gt;&lt;P&gt;Thanks for the quick reply.&amp;nbsp; I must be doing something wrong.&amp;nbsp; I used the Security Editor to create a permission with a denied action of "Replace Each Character".&amp;nbsp; 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.&amp;nbsp; My program includes the following two lines:&lt;/P&gt;&lt;P&gt;&lt;FONT color=#2b91af size=2&gt;SecurityBasics&lt;/FONT&gt;&lt;FONT size=2&gt;.DefaultBlockedMsg = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"Access Denied."&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SecurityBasics&lt;/FONT&gt;&lt;FONT size=2&gt;.BlockedReplacementCharacter = &lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;'*'&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;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.".&amp;nbsp; However, the grid column bound to the field in question shows the field's data.&amp;nbsp; Any idea what I might have missed?&amp;nbsp; Thanks again.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size=2&gt;Fran&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Thu, 29 Mar 2007 15:20:06 GMT</pubDate><dc:creator>fparker</dc:creator></item><item><title>RE: BusinessBindingSource and Field Level Secuirty.</title><link>http://forum.strataframe.net/FindPost7796.aspx</link><description>[quote]Does field level security not work with the BusinessBindingSource object or am I doing something wrong?[/quote]&lt;/P&gt;&lt;P&gt;These security fields will not be respected by the grid as far as showing up.&amp;nbsp; Now if you use the replace with character then you will see the replacement character rather than the actual value.</description><pubDate>Thu, 29 Mar 2007 15:05:50 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>