I'm missing something important in my MVC 4 Application.
I am using passive ws-fed with my ACS. Works beautifully.
I have a simple Custom ClaimsAuthenticationManager where I do nothing but call the base.Authenticate(). When I set a breakpoint in this method and inspect the incommingPrincipal I can enumerate the Claims collection and see the claims that my ACS issued.
Next
I have a simple Custom ClaimsAuthorizationManager. I have set a breakpoint in my CheckAccess method. When I inspect the context.Principal and try to enumerate Claims collection the function times out. It is trying to read my SQLProvider as in the old way of using a RoleProvider.
BUT... If I inspect the context.Principal.Identity.ClaimsPrincipal.m_instanceClaims I can enumerate the claims for the identity. And the context.Principal.Identity.ClaimsPrincipal.Claims collection also enumerates and shows me the claims.
And that seems weird to me. At first I thought there was some disconnect with context.Principal being of type System.Web.Security.RolePrincipal and context.Principal.Identity.ClaimsPrincipal being of type System.Security.Claims.ClaimsPrincipal. Except that context.Principal.Claims is calling System.Security.Claims.ClaimsPrincipal.getClaims(), which is the same as context.Principal.Identity.ClaimsPrincipal.Claims.
I have to be missing something simple.
Sharpester