gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 3 连接以保护远程 WCF 服务

转载 作者:行者123 更新时间:2023-12-04 19:44:40 25 4
gpt4 key购买 nike

我是所有网络事物的新手,所以这个问题可能看起来微不足道,但对我来说不是。实现逻辑为:

ASP.NET MVC 3 -> WCF 服务 -> SQL 数据库

ASP.NET MVC3 中的身份验证和授权使用自定义成员身份和角色提供程序,因为所有登录详细信息都存储在 SQL 数据库中。也需要实现对 WCF 服务的授权。它使用与 ASP.NET MVC 3 相同的凭据。我已经使用自定义 UsernameValidator 为 WCF 安全实现了用户名类型。

<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="UserName" />
</security>

它是第一次工作,当用户因为有凭据登录网站时。但是,在 ASP.NET MVC 3 上的 FormsAuthentication.SetAuthCookie 之后,我只有用户名。由于 MVC 方法由各种 Controller 组成,我必须在每个 Controller 上创建 WCF 客户端实例。但如果没有凭据,它就没有意义。

       [Authorize]
public class MyController : Controller
{
private WebServiceClient ServiceClient = new WebServiceClient();

public ActionResult Index(string userName)
{
var model = ServiceClient.GetDataList();
return View(model);
}
}

新实例不使用现有 session 。它会创建一个具有空白凭据的新凭据。

  • 是否有一种安全的方法来为每个 session 创建 WCF 客户端实例?
  • 或者 WCF 接受 ASP.NET 身份验证的选项?
  • 将 asp.net 身份验证附加到 wcf 的最佳方法是什么请求?

最佳答案

看完the suggested link决定将 ASP.NET MVC 服务器和 WCF 服务保留在一台机器上,并使用 net.pipe 端点进行通信。谢谢。

关于asp.net-mvc - ASP.NET MVC 3 连接以保护远程 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311063/

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