【问题标题】:ASP.NET MVC: Best Way to Enable Different Modes of Authentication?ASP.NET MVC:启用不同身份验证模式的最佳方式?
【发布时间】:2009-09-15 17:55:38
【问题描述】:

我目前正在开发一个应用程序,该应用程序可能会部署在我当前工作场所内的各个组织中。我需要开发一个可测试且设计合理的身份验证框架,以便每个实现人员都可以选择使用 Windows 身份验证、表单身份验证、国产单点登录系统 OpenID。

因此,鉴于 ASP.NET MVC(特别是我正在使用 S#arp 架构框架),我应该如何去做呢?

理想情况下,如果人们可以在每种情况下简单地更改 web.config 文件,那就太好了。

谢谢

【问题讨论】:

  • 它加载了什么?部署一个解决方案,其中身份验证的特定形式可能因安装而异,对我来说似乎不是一个独特的案例。我敢肯定人们已经做到了,我敢肯定有关于如何/应该做到这一点的意见......这就是我希望听到的。

标签: asp.net asp.net-mvc authentication


【解决方案1】:

ASP .NET MVC 支持 ASP .NET 成员资格提供程序,让您更轻松地处理 Windows/Forms 身份验证,没有任何麻烦。只要您在web.config 上指定所需的信息。默认站点自带示例。

对于其他实现选项,Kigg 有一个 OpenID 实现,其中还包括单元测试代码。

我想在了解了这些工作原理之后,您会找到一种方法来包含您的“本土单点登录”身份验证框架:P

更新

为了通过您自己的用户表使用成员资格提供程序,您必须实现自定义提供程序。无论如何,通过 web.config 进行的配置都是可用的,但您需要创建一个实现 MembershipProvider 抽象类的类。

这是一个视频的link 和一些解释如何实现这一点的源代码。

【讨论】:

  • 同意。我们使用 Active Directory 进行身份验证,使用授权管理器进行角色成员资格。 MVC 中真正需要的只是配置 web.config 以使用它们。我刚刚进行了快速搜索,这里有一篇关于使用 Active Directory 进行身份验证的博客文章。您可以将其用作其他类型身份验证的示例。 helios.ca/2009/05/04/…
  • 感谢您的回复,但它确实没有回答我的问题。此应用程序的数据库需要有自己的用户表,以支持上面指定的任何身份验证模式。问题是如何最好地做到这一点。
  • 会员提供者支持自定义数据源。您必须实现一个实现成员资格提供者抽象类的类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 2021-12-09
  • 2011-07-01
相关资源
最近更新 更多