2011-10-07 106 views
0

我已经有了ASP.NET应用程序中托管的WCF Web服务。对于asp.net 部分,我使用窗体身份验证来访问我想要使用 Windows身份验证的Web服务。配置完成后, 服务的调用者将被重定向到Web应用程序的登录页面。我试图 排除托管WCF Web服务的文件夹,但无法使其工作。Asp.MVC和WCF混合身份验证

可以这样配置,还是必须将我的WCF作为独立站点托管在iis中?

编辑

经过一些google搜索,我发现它是更多钞票,但它不是那么容易,因为我想它是:)我不喜欢特别是具有的部分是我的应用程序必须有这个包装在GC或应用程序必须有充分的信任permisions :(

http://mvolo.com/blogs/serverside/archive/2008/02/11/IIS-7.0-Two_2D00_Level-Authentication-with-Forms-Authentication-and-Windows-Authentication.aspx

虐待尝试,让你知道如何去。

回答

0

我使用的解决方案有效,但我不打算使用它,因为我所做的应用程序不应该具有完全信任权限,我也不想将包装器放置在GAC中。所以我最终解决的解决方案是将WS和asp.mvc应用程序拆分为iis上的两个站点。

0

你有没有设置你的WCF绑定正确在web.config中?

下面是关于如何配置此链接:

http://www.codeproject.com/KB/WCF/WCFBasicHttpBinding.aspx

+0

嗯,我需要使用asp.mvc应用程序的两种形式认证,然后在同一时间为ws窗口。我需要分开这两个,如果它甚至可能... – Eduard

+0

我不知道这会工作。问题在于直接在Web应用程序的IIS虚拟目录上进行身份验证设置。在WCF中使用Windows身份验证时,IIS虚拟目录需要启用Windows身份验证并关闭匿名访问;但使用表单身份验证的ASP.NET webforms需要IIS虚拟目录启用“匿名访问”。这两种模式相互冲突。我不确定你将如何去解决这个冲突。 – HashTagDevDude

+0

在我编辑它的帖子中有一种看起来很怪异的样子。 Eaven我不喜欢提供的解决方案我试试吧... – Eduard

0

你有没有为WCF服务禁用了ASP.NET兼容模式?如果启用,ASP.NET将尝试首先对用户进行身份验证。否则,它应该直接到WCF。

+0

不,情况并非如此。 – Eduard