gpt4 book ai didi

c# - 使用 C# 的 SOA 方法进行身份验证

转载 作者:太空狗 更新时间:2023-10-29 21:59:26 28 4
gpt4 key购买 nike

我正在重建一个网站,我正在尝试使用 SOA 方法。当前网站采用 .NET 2.0 并使用开箱即用的 SqlMembershipProvider。

我们试图消除与数据库的直接连接,并通过 WCF 服务层推送所有内容。我们为此使用的方法是将所有内容分开 - 有一个用于模型和接口(interface)的库,一个用于服务的库,然后是一个用于服务代理的库。

目前最大的障碍是弄清楚如何管理用户身份验证及其 session 。使用此方法执行此操作的最佳方法是什么。

我们是否应该放弃 .NET 成员(member)模型并使用 OpenId 之类的东西,只允许用户将他们的数据重新连接到新帐户?

我已经进行了一些搜索,但找不到很多关于如何管理它的信息,尽管我知道以前有人这样做过。

最佳答案

以下是我最后做的,以防有人感兴趣。我开始使用 WCF 身份验证服务,但后来意识到它并没有提供我想要的一切。我可以登录和注销,但仍然必须创建自己的注册方法和获取 MembershipUser。

因此,我进入我的 ServiceContracts 库并创建了一个名为 IMembership 的接口(interface)。起初,我将它创建为一个类并继承自 MembershipProvider,这样我就可以获得为我生成的所有方法 stub 。生成它们后,我修改了 stub 并将其制作成接口(interface)。

然后我进入我的服务库并为接口(interface)创建了一个简单的实现,因为对于实现我只使用了 Membership.Provider....

然后在我的 Service Provider Clients 库中,我执行了 IMembership 接口(interface)的常规实现,它也继承自 ClientBase<>。在它旁边,我创建了一个 WCFMembershipProvider,它实现了 MembershipProvider,并调用了我刚刚创建的 MembershipClient 中的方法。

在托管 WCF 服务的我的 WebApp 中,我在 web.config 中设置了我的 SQL 成员身份提供程序,然后为该服务创建了我的 svc 文件和端点。

在消费 web 应用程序中,我只是将服务客户端引用添加到 svc,然后为我的 WCFMembershipProvider 设置成员身份提供程序。

还有中提琴 - 我在做生意。

很多重复的代码,但效果很好。

关于c# - 使用 C# 的 SOA 方法进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5237162/

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