5

在我的服务实施中,我有:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

在我的 .config 文件中,我有:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

和:

  <system.web.extensions>
    <脚本>
      <网络服务>
        <authenticationService enabled="true" requireSSL = "false"/>
      </web服务>
    </脚本>
  </system.web.extensions>

和:

<authentication mode="Forms" />

在我的服务的“登录”方法中,我有:

FormsAuthentication.SetAuthCookie(request.UserName, false);

但是,当我检查时:

HttpContext.Current.User.Identity.Name

它是一个空字符串。我错过了什么?

4

3 回答 3

1

尝试改用 ServiceContext.User.Identity。

于 2011-08-28T09:24:49.973 回答
1

当您希望用户填写登录表单时,使用表单身份验证。

对于服务,最好使用不同的身份验证机制。

于 2009-06-22T20:09:30.713 回答
0

我假设您在后续请求中检查 Identity.Name ?

您的 web.config 中有元素吗?

您是否还确保从登录响应中捕获 cookie 并在后续请求中重新发送它?

于 2011-02-16T21:56:59.400 回答