【问题标题】:Sitefinity MVC External AuthenticationSitefinity MVC 外部身份验证
【发布时间】:2013-12-19 05:03:00
【问题描述】:

我正在尝试让 Sitefinity 与 MVC 和 JQuery Mobile 一起工作,但遇到了很多问题......

当前的问题是我需要让用户进行身份验证才能访问应用程序的某些部分。此身份验证需要使用外部服务,登录前端的用户不会在 Sitefinity 用户群中。我还需要有可以登录后台更新内容的用户,这些用户将由 Sitefinity 管理。

为了保护 MVC 中的页面,我在控制器上添加了一个授权属性。这需要确认前端的用户已经通过外部服务的身份验证,但仍然允许登录到后端的用户能够更新内容。

这不起作用,当我在前端点击带有授权属性的页面时,它试图将我带到 sitefinity 登录。有没有人找到一种方法来完成这项工作?

【问题讨论】:

    标签: asp.net-mvc jquery-mobile authentication sitefinity


    【解决方案1】:

    嗯,我现在有办法,但我对它并不那么兴奋......

    我收到了 Sitefinity 支持的回复,并获得了几种不同的方法来做到这一点。

    1) 创建我自己的自定义 AuthorizeUser 属性,当我对 cookie 的会话进行身份验证时保存值,检查属性上的值...基本上自己重写所有 Authenticate 功能。 - 我真的很想尽可能地保留身份验证功能,所以我不认为我会这样做。

    2) 创建一个自定义成员资格提供程序,将其添加到 Sitefinity 后端作为有效的成员资格提供程序。如果我想将我的用户存储在数据库中并验证/更新它们,这将是一个很好的解决方案。但是,我只是针对一项服务进行验证。

    3) 在 Sitefinity 后端创建一个没有访问权限且绝对没有后端访问权限或管理员访问权限的虚拟用户。在对我的服务进行身份验证后,如果一切正常,然后从代码登录到该用户。在此之后,[Authenticate] 属性发现该用户已登录,因此一切正常。由于我不需要检查我的应用程序中的角色或声明,只需该用户登录,这可能会起作用。这对我来说似乎很丑陋,但我确信只要用户没有后端访问权限或管理员访问权限,它就不会计入并发用户,并且许多用户可以以同一用户身份登录。

    我将继续使用选项 3,看看效果如何,是否可以通过架构团队。

    这是我找到选项 3 的链接,其中包含更多信息...

    http://www.sitefinity.com/developer-network/forums/sitefinity-sdk/custom-authentication

    【讨论】:

      【解决方案2】:

      詹姆斯! 不确定,但我认为您的第 3 方服务应该使用 Sitefintiy 单点登录。

      以下关于如何设置 Sitefinity 单点登录的帮助主题可能会有所帮助:

      http://www.sitefinity.com/documentation/documentationarticles/authentication-models-overview

      【讨论】:

      • 感谢您的回复。不幸的是,我无法控制我调用的服务,也无法做到这一点。我对此有一个关于 Sitefinity 的支持问题,当/如果我解决这个问题时,我会更新这个问题。
      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多