【问题标题】:WCF Service authentication and authorizationWCF 服务身份验证和授权
【发布时间】:2012-03-20 10:56:45
【问题描述】:

我需要在 WCF 服务上设置身份验证和授权,现在该服务已创建并正在运行,但没有身份验证。

还需要对存储在 SQL 数据库中并已被另一个 Web 应用程序使用的现有用户和密码进行身份验证,但由于我没有它的源代码,并且仍在调整做 .NET我遇到了一些困难。

我可以读取数据库并在数据库中找到几个 aspnet_ 表,例如 aspnet_Users、aspnet_Roles 等,到目前为止似乎与 Web 应用程序中使用的表相匹配。

我的问题是如何使用现有数据库轻松实现身份验证和方法授权。

请注意,我无权访问网络应用程序源代码。

谢谢。

【问题讨论】:

    标签: c# wcf authorization wcf-security


    【解决方案1】:

    MVC 使用标准的 ASP.Net 成员资格提供程序。如果您单击登录按钮/注册链接 - 您可以添加用户。 ASP.Net 将创建包含成员信息的 App_Data\ASPNETDB.MDF。您可以将 ASPNETDB.MDF 移动到远程 DB 服务器,但您必须使用 Membership 提供程序架构/DB(除非您编写自己的提供程序)。

    一些 MVC 链接可帮助您入门。

    http://www.asp.net/mvc/tutorials/older-versions/security/authenticating-users-with-forms-authentication-vb http://weblogs.asp.net/fredriknormen/archive/2007/11/25/asp-net-mvc-framework-security.aspx http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/

    添加的默认身份验证/授权配置使用 ASP.NET 标准成员资格和角色管理器服务提供者(本地 SQL Express 之一)。如果您现有的数据库(用于用户登录)也是 ASP.NET 标准 sql 会员数据库,您可以简单地更改会员部分的连接字符串。否则,您可能需要创建一个自定义成员资格提供程序,该提供程序使用您自己的数据库表进行用户身份验证。

    实施会员提供者 http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx

    为 ASP.NET 2.0 成员资格构建自定义提供程序 http://msdn.microsoft.com/en-us/library/aa479048.aspx

    【讨论】:

      【解决方案2】:

      真的没有简单的方法来满足您的要求。 Here 是您可以使用的库,并遵循此blog 中描述的严格步骤来设置 WCF 服务的 SQL 成员身份提供程序的身份验证。
      就我而言,我对图书馆进行了小幅更新。我已经注释掉了一行代码

      //if (!IsAnonymousAllowed)
      

      【讨论】:

        猜你喜欢
        • 2013-10-02
        • 2010-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多