gpt4 book ai didi

asp.net - WCF/ASP.NET 身份验证

转载 作者:行者123 更新时间:2023-12-02 10:15:05 24 4
gpt4 key购买 nike

我的场景是一个 3 层应用程序,其中数据层是 SQL Server 数据库,中间层是 Windows 服务中托管的 WCF 应用程序,最后演示文稿是 Asp.Net MVC 应用程序。

像往常一样,中间层是执行所有业务逻辑的层。访问数据库,定义业务规则......等。

好的,到目前为止一切顺利!但现在的问题是:在这种情况下如何处理安全性?我的意思是,用户必须登录 ASP.NET 应用程序,但我不仅想在 ASP 中验证它,还想在 WCF 中间层中验证它,因为 WCF 服务应该被更多应用程序访问。

我希望用户登录 Asp.Net 应用程序并让 WCF 知道凭据。 WCF 中是否有某种 session 可以指定登录用户?

在这种情况下,专业人士如何处理安全问题?我知道您可以通过消息安全保护 WCF 服务,但是 Asp.Net 和 WCF 如何在单个登录用户上同步?我想根据用户的授权方式来保护 WCF 操作。

最佳答案

我建议考虑使用 HMAC(哈希消息身份验证代码)等方法来确保安全,或类似的基于 token 的方法。这个想法是将您的请求签名到 WCF 层,该层可用于验证请求并识别发出请求的用户。

基本元素是 token 和用于签署每个请求的某种共享 secret 。该 token 将允许您识别 WCF 端的用户,并查找共享 key 以验证请求。您还可以添加时间戳/随机数以防止重放攻击等。

我已将这种方法用于一些基于 WCF 构建的 REST 服务 - 这样做的额外好处是客户端不需要存储用户名和密码,只需存储用于通信的安全 token 。在您的情况下,您需要弄清楚如何在 ASP.NET 层和 WCF 层之间交换 token ,但这将为您的 WCF 服务的任何使用者提供统一的身份验证方法。

关于asp.net - WCF/ASP.NET 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812778/

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