gpt4 book ai didi

c# - 使用 Identity 2.0 在 MVC 应用程序和 WCF 服务之间传递身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:20 24 4
gpt4 key购买 nike

我创建了一个在 IIS 中运行并在网站上发布的 WCF 服务。

我还有一个 MVC 应用程序,它使用 indentity 2.0 对我的用户进行身份验证和授权,并且该应用程序连接到一个包含用户信息的 SQL Server 数据库。此应用程序使用 WCF 服务。

我想知道的是,是否可以在 MVC 应用程序中使用经过身份验证的用户的用户凭据来调用 WCF 服务,如果可以,这是执行此操作的最佳做​​法。

最佳答案

我终于找到了这个问题的答案。

当从您的 asp.net mvc 应用程序调用网络服务时,您可以像这样传递 cookie:

 var request = HttpContext.Current.Request;
var cookie = request.Cookies.Get("IdentityCookie");
var ticket = cookie.Value;

注意这一行 var cookie = request.Cookies.Get("IdentityCookie") 它在你的情况下不起作用,因为我重命名了 cookie,如果您没有重命名您的 cookie 将“IdentityCookie”替换为“.AspNet.ApplicationCookie”,否则只需将其替换为您的 cookie 名称即可。

(在我的例子中,我有一个类在每个请求中自动发送消息头,cookie 放在那个头中,你可以做类似的事情)

然后您只需要在 WCF 端创建一个消息检查器,以便每个请求在调用服务之前传递给该检查器。在该检查器中,您可以 decrypt the cookie并检查用户是否已通过身份验证。

它解决了我的问题,希望对您有所帮助。

关于c# - 使用 Identity 2.0 在 MVC 应用程序和 WCF 服务之间传递身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com