2011-03-30 44 views
9

混合身份验证处理ASP.NET模块(MADAM)正是我在MVC2中构建的项目所需要的。我不是鉴定专家,MADAM能否快速改装以适应MVC流水线?ASP.NET MVC的混合身份验证处理ASP.NET模块(MADAM)有端口吗?

http://msdn.microsoft.com/en-us/library/aa479391.aspx

Illustrates how the Forms authentication workflow is suspended by FormsAuthenticationDispositionModule, and how BasicAuthenticationModule adds the necessary headers to the outgoing response after FormsAuthenticationDispositionModule has done its job.

+0

你已经尝试过了,面临的问题,或者只是得到它之前一个一般性的问题? – 2011-04-24 13:16:02

+0

MADAM似乎提供了我在我的项目中寻找的功能,但是在我投入时间之前,我想知道它是否是正确的方向...您可以使用现有的表单验证在ASP.NET MVC? – daniellmb 2011-04-24 21:39:45

回答

3

根据IIS的服务器的版本,你需要将MADAM模块放到你的web.config文件中的不同位置。

IIS 6

<system.web> 
<httpHandelers> 
<-- Madam Modules go here --> 
</httpHandelers> 
</system.web> 

IIS 7

<system.webServer> 
<httpHandelers> 
<-- Madam Modules go here --> 
</httpHandelers> 
</system.webServer> 
+0

该部分是''而不是''system.webServer – 2012-08-06 18:59:12

+0

实际上它进入httpModules部分 – pnewhook 2013-12-06 14:34:40

0

我一直在寻找到使用MADAM在工作中我当前的项目为好,但我似乎无法得到它开火。

这样看来,事情的方式发生了变化,要么ASP.Net处理请求并处理的HttpModules或者是在ASP.Net MVC管道的差异。

,我已经能够找到最快的解决办法是将项目拆分为两个独立的项目,并能将他们聚集在IIS为不同的应用程序,否则认证将无法为渴望工作。

至于如果你离开窗体身份验证上我可以告诉大家,MADAM不火,哪些是你想要的Http-基本身份验证的任何路径只是重定向到登录/或默认页面。如果关闭了表单身份验证,那么Http-Basic身份验证将起作用,但表单身份验证将不起作用,因为它无法自动读取.ASPXAUTH cookie。

除非我碰到一些办法绊倒得到它的工作我将不得不对这个项目分成两个和主机各为IIS中的单独的应用程序。

如果有,他们将受到欢迎任何其他变通。

0

我没有使用过MADAM,但根据图表我看不出有什么理由不能在AuthorizationFilter中实现这个过程,或者直接连接到HttpApplication.AuthorizeRequest事件。 ASP.NET MVC仍然受制于ASP.NET HttpApplication生命周期。