all groups > dotnet security > september 2005 >
You're in the

dotnet security

group:

linkdemand for principalpermission


linkdemand for principalpermission Jas
9/27/2005 7:36:01 PM
dotnet security: I can't seem to understand what a linkdemand for a principalpermission means?
If linkdemands are satisfied at JIT phase, how can it figure out the current
principal before running the code?

For example, if I was going to use windowsprincipals to make RBS decisions,
and I decorate a method with a linkdemand for principalpermission of
"BUILTIN\ADMINISTARTORS" like this:

[PrincipalPermissionAttribute(SecurityAction.LinkDemand, Role =
@"BUILTIN\Administrators")]
static void MethodA()


how would the JIT figure this out without running the code? When I runthe
above code, it always produces "SecurityException: Request for principal
permission failed....". And it looks that is happening at JIT phase not
runtime. This becomes even more of an issue when I'm using generic roles.

Re: linkdemand for principalpermission Nicole Calinoiu
10/7/2005 9:39:00 AM
[quoted text, click to view]

Pretty much nothing.


[quoted text, click to view]

It can't.


[quoted text, click to view]

You should be using SecurityAction.Demand, not SecuirtyAction.LinkDemand, in
your PrincipalPermission attributes (and, for other reasons, most other
permission request attributes with the occasional exception of identity
permissions). PrincipalPermission does not inherit from
CodeAccessPermission, and it does not perform a stack walk, so there's
essentially no point in even trying the link demand approach anyway (even if
it did work <g>).

RE: linkdemand for principalpermission Jas
10/7/2005 10:51:02 AM
Nicole,

Thanks, that's what I thought but I wanted to be sure.

[quoted text, click to view]
AddThis Social Bookmark Button