编辑3.9.2011再添加一个相关问题
您好,
我现在对WCF很新,并且正在做一个速成课程。
我可以请第二眼检查我的计划吗?
以下是(计划的)详细信息:
目标是制作一个可通过互联网访问的WCF服务,该服务使用用户名和密码进行授权,并通过SSL传输受保护的凭据和邮件内容。
WCF SOAP服务
这些物品会优雅地在一起生活吗?我不确定是否需要将安全模式更改为“TransportWithMessageCredential”。
一个相关问题:我正在尝试获取身份信息,类似于使用HttpContext.Current.User。这是我怎么做的?
IIdentity myIdentity =
OperationContext.Current.ServiceSecurityContext.PrimaryIdentity;
如果我需要更改绑定,身份验证或安全模式,请告诉我。
非常感谢!
编辑 - 附加问题:首次构思时,计划是让消费者将用户名和密码作为消息的一部分发送。凭证将由SSL保护。然后,在相应的服务方法的代码中,如果他们有访问权限我会评估并停止它们。这似乎是一种更简单的授权方法,但是我需要了解哪些缺点?
答案 0 :(得分:1)
是的,这些设置应该没问题 - wsHttpBinding支持使用用户名/密码凭据的传输安全性。
至于身份:在您的服务端代码中,您可以检查ServiceSecurityContext
并在其上找到呼叫者的身份:
ServiceSecurityContext secCtx = ServiceSecurityContext.Current;
var identity = secCtx.PrimaryIdentity;