开箱即用MVC3应用程序允许使用Intranet项目模板时的Windows身份验证或Internet项目模板的表单身份验证。我有一个我想使用的网站。另外,我有一个现有的网站,它使用自己的自定义类型的认证来验证用户(没有授权或角色,只是标识)。除了遗留系统的数据以进行身份验证之外,我可能还需要使用每个功能。由于这个原因,我试图确定一种方法来抽象我的身份验证并将其解耦。我想使用某种依赖注入,完全基于配置,所以我可以在两个不同的位置部署相同的站点,并通过仅更改配置来切换身份验证模型(Windows身份验证/表单身份验证/自定义身份验证)。MVC3松耦合认证
目前,我所使用的所有ASP.NET应用程序(包括MVC3模板项目)似乎都与所使用的身份验证类型紧密耦合。
我在这个盒子外面想的太过分了吗?
这是可能的,还是有这种紧密耦合的原因?
UPDATE 真正的问题我已经是现有的传统认证,我需要使用一些用户,对窗体身份验证,我需要为他人之间。 Windows与表单身份验证不是真正的问题,因为LogIn表单没有用于其中一个。但请考虑自定义身份验证和表单身份验证。 LogIn表单与FormsAuthentication,更具体地说是System.Web.Security紧密结合。 (即Membership.ValidateUser,FormsAuthentication.SetAuthCookie等)。
我想注入到我的AccountController中使用的身份验证,而不是使用FormsAuthentication和Membership。
到目前为止,这是否更有意义我的问题是什么?
当网站在本地使用时,我会进行Windows身份验证,但这些用户在不在网络上时可能需要访问网站。在这种情况下,他们需要使用表单身份验证登录。然而,客户需要登录,但会使用预先存在的身份验证系统,该系统不使用aspnet形式验证表,视图等。 – 2012-01-09 15:38:55