从WCF服务内部可以确定调用服务的身份验证方法吗?
例如;
if (Forms Authentication) {
//do something
}
if (WindowsAuthentication) {
//do something else
}
答案 0 :(得分:0)
您可以检查WCF服务类中ServiceSecurityContext
上的OperationContext
,然后可以确定用户的身份验证方式(如果有的话)。
ServiceSecurityContext security =
OperationContext.Current.ServiceSecurityContext;
现在您可能在安全上下文中有其中一个:
如果您有其他身份验证机制(如证书或联合身份验证),则PrimaryIdentity
将包含该机制的合适身份。
有关此主题的详尽讨论,请参阅Fundamentals of WCF Security(第3页的链接)。