代码之家  ›  专栏  ›  技术社区  ›  Kenoyer130

对web应用程序使用wcf身份验证服务

  •  2
  • Kenoyer130  · 技术社区  · 14 年前

    我正在使用一个用web应用程序设置的wcf身份验证服务。我已经成功地设置并测试了AuthenticationService和RoleService。web应用程序可以通过wcf服务成功地调用validateuser和getrolesforcurrentuser等方法。

    我想将wcf身份验证服务与web.config和site.map集成。我是否需要编写自定义提供程序,或者是否有某种方法可以修改web应用程序的web.config以使用wcf身份验证服务作为其成员资格提供程序?

    通过这种方式,我可以设置哪些角色可以访问基于wcf身份验证服务的哪些目录。

    2 回复  |  直到 13 年前
        1
  •  2
  •   Community CDub    7 年前

    应用程序服务不打算作为提供程序堆栈的替换。

    它们的目的是扩展和启用来自.aspx以外的上下文的使用。

    在大多数情况下,您可以简单地使用默认的提供程序堆栈(成员/角色/配置文件)。

    您只需在服务调用的上下文中通过app services传递您在调用“login”时获得的cookies。

    here 有关向wcf呼叫添加cookies的更多信息。

    如果使用ajax调用服务,则无需执行任何操作,只需通过ajax进行身份验证,然后通过ajax进行调用。

        2
  •  1
  •   Dave Lowe    13 年前

    斯凯的回答似乎没有回答这个问题?

    在我看来,确实需要从asp.net应用程序调用wcf authenticationservice?

    考虑一个三层应用程序,其中所有数据库访问都是由应用程序层执行的。只有一个数据库(数据层)包含业务数据和成员数据。

    我编写了一个三层实现,其中表示层上的自定义成员提供程序调用应用层上的authenticationservice,应用层上的authenticationservice反过来运行我的自定义身份验证例程。 我可以很容易地创建一个自定义的wcf服务(例如,不是authentication service)来执行此身份验证,但我尽可能使用.net对象。 如果我可以告诉asp.net使用authenticationservice而不需要自定义成员资格提供程序,那就太好了,但我不认为这是可能的吗?