Hi

It seems that the PrincipalPermissionAttribute is not working as expected (at least not as I expect it :)
I checked the class status and it says 100% so I guess this means that it should work.


I got the following code which works just nice under MS.NET.

<snip>
        [PrincipalPermissionAttribute(SecurityAction.Demand, Role="root")]
        public void UpdateMember( Member aMember )
        {
                // do something secret here :)
        }
</snip>

When Thread.CurrentPrincipal.IsInRole("root") is false then under windows this raises a SecurityException (which I think is correct). However, under mono-0.91 it runs through without any problem (i.e. does not generate the exception). I verified this by modding the code above to

<snip>
        [PrincipalPermissionAttribute(SecurityAction.Demand, Role="root")]
        public void UpdateMember( Member aMember )
        {
            IPrincipal princ = System.Threading.Thread.CurrentPrincipal;
            bool adminRole = princ.IsInRole("root");

if ( !adminRole )
throw new Exception("You dont belong to the admins. Go away");


            // do something very secret here
        }
</snip>

The modified code raises now the exception.

So here are the two options
a) I dont understand how to use PrincipalPermissionAttribute (which could easily be true)
b) the mono implementation does not work as expected.


Can anybody help me?

_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to