使用 ASP.NET 标识提供程序(窗体身份验证)进行用户名和密码身份验证和授权的启用了 WCF AJAX 的 Web 服务

WCF AJAX Enabled Web Service using the ASP.NET Identity Provider (Forms Authentication) for Username and Password Authentication and Authorization

提问人:Joshua Ginn 提问时间:1/3/2023 更新时间:1/3/2023 访问量:28

问:

在具有标识提供程序的现有 ASP.NET Web 应用程序中,使用 Forms 身份验证,我想使用用户已为站点提供的登录凭据对启用了 WCF AJAX 的 Web 服务进行身份验证。

也就是说,仅当用户已通过表单网站的身份验证时,才会对 WCF Web 服务进行身份验证。WCF Web 服务不需要进一步的身份验证,因为它承载在同一 Web 应用程序上。

检查用户是否经过身份验证将使用标识框架代码,如下所示

bool isUserAuthenticated= (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated

如何检查用户是否“登录”?

server-service 代码应该能够从中获取用户的用户名

System.Web.HttpContext.Current.User.Identity.GetUserId()

来自 ASP.NET MVC 5 - Identity。如何获取当前 ApplicationUser

WCF Web 服务的上下文是 OperationContext,而不是 HttpContext。

asp.net wcf asp.net-identity asp.net-ajax

评论

0赞 Jiayao 1/4/2023
如果我理解正确,您的问题是 wcf Web 服务在经过 ASP.NET 身份验证后是否仍然需要进行身份验证。
0赞 Joshua Ginn 1/16/2023
是的,我相信他们会。
0赞 Jiayao 1/31/2023
你可以看看这个案例。该解决方案可能对您有所帮助。

答: 暂无答案