配置WCF表单身份验证

配置WCF表单身份验证,wcf,forms-authentication,Wcf,Forms Authentication,在我的服务实施过程中,我有: [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Required)] 在我的.config文件中,我有: <serviceHostingEnv

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

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Required)] 在我的.config文件中,我有:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 以及:

以及:

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

FormsAuthentication.SetAuthCookie(request.UserName, false); FormsAuthentication.SetAuthCookie(request.UserName,false); 但是,当我检查时:

HttpContext.Current.User.Identity.Name HttpContext.Current.User.Identity.Name
这是一个空字符串。我缺少什么?

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


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

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

您的web.config中是否有元素


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

尝试改用ServiceContext.User.Identity

FormsAuthentication.SetAuthCookie(request.UserName, false); HttpContext.Current.User.Identity.Name