Silverlight客户端计算机名称,用户名或来自客户端的唯一密钥

时间:2012-06-05 14:21:36

标签: wcf silverlight client username computer-name

我正在尝试从客户端获取一个唯一的密钥,例如用户名或计算机名,但在wcf方面,以下任何一项都不适用于我:

HttpContext.Current.Request.LogonUserIdentity.Name // blank
Security.Principal.WindowsIdentity.GetCurrent().Name

我使用匿名模式进行安全保护,用户不应该登录。我怎么能这样做?

感谢。

2 个答案:

答案 0 :(得分:1)

如果您使用的是匿名身份验证模式,则会获得空白名称。 正如模式所暗示的那样,请求有点......匿名。

如果你需要一个唯一标识符,我认为在这种情况下你最好的选择是在你的请求中添加一个自定义标题,其中包含在首次运行时创建并保存在独立存储中的Guid。

答案 1 :(得分:0)

如果您可以保证唯一的IP地址(不太可能,但可能):

您可以尝试访问Request.ServerVariables to retrieve the consumers IP Address

这是list of common Server Variable Keys

如果您不能保证唯一的IP地址:

This SL forum post suggests using a GUID kept in isolated storage是为了上下文而来回发送的。