Ik ben bezig een WCF service aan het maken, deze service is beveiligd door middel van username/wachtwoord ( Die worden gecontroleerd in een custom UserNamePasswordValidator, wat ook goed werkt ).
In een aantal methodes van de service wil ik echter weten welke user er is ingelogd. Ik ben aan het zoeken geweest op internet maar ik kon niet echt vinden wat nou de juiste manier is om dat te doen.
Moet ik handmatig door alle Claims heen lopen en daar zelf mijn Username uit halen
Of zijn er betere manieren om dit te achterhalen?
In een aantal methodes van de service wil ik echter weten welke user er is ingelogd. Ik ben aan het zoeken geweest op internet maar ik kon niet echt vinden wat nou de juiste manier is om dat te doen.
Moet ik handmatig door alle Claims heen lopen en daar zelf mijn Username uit halen
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| foreach (ClaimSet claimSet in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets) { foreach (Claim claim in claimSet) { if ( claim.ClaimType.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" ) && claim.Right.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/right/identity" ) ) { Console.WriteLine(claim.Resource); } } } |
Of zijn er betere manieren om dit te achterhalen?
“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”