Why does WCF Service distinguish DBUser and Windows User ssid?

Topics: WCF Cache Service
Feb 6, 2013 at 7:57 PM

I want to check access for users defined only in the database ("dbUsers") and Windows users (by "domainname\username", not current windows identity). I obtain the ssids via GetDBUser and NTAccount.Translate.
This works well with storage cache, but now I'm trying to use the WCF cache service and it doesn't work the same way. I am forced to distinguish between dbUser-ssid and windows-user-ssid due to the CheckAccessForXXXUser-functions. I get no positive check access for windows users if I use the windows ssid in th CheckAccessForDbUsers-functions nor when I use the CheckAccessFowWindows-functions, I guess it's because of the null or empty groupsSSid parameter.
I am probably missing some basic concept here but I don't understand why the WCF-service doesn't expose the same behaviour as the storage api (for readonly access).

Can somebody explain how to use the WCF Cache Service for "transparent" ssid's as described above?

Thanks a lot,

Feb 7, 2013 at 3:47 PM
WCF doesn't expose the same behaviour because method overload in WCF is not allowed,
I don't really understand which is your problem when you use the CheckAccessFowWindows methods.

Could you post a piece of code ?
Feb 7, 2013 at 6:32 PM
Hello aferende,

my problem solved itself miraculously over night ;)) (maybe I mixed up dll-versions), there seems to be no difference if I call CheckAccessForDbUser with the windows ssid or dbUser ssid. ;))

Anyway, thanks a lot for your help.

Feb 7, 2013 at 7:07 PM
Feb 7, 2013 at 7:14 PM
Yep! I've had the same thing happen to me a few times. You go home thinking "why can't I get this to work"? You walk in ..in the morning...and BOOM, it starts working.

Go figure............

I wish more of my software development woes could be solved by a good night's sleep........