首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >混合使用窗体身份验证和Windows身份验证

混合使用窗体身份验证和Windows身份验证
EN

Stack Overflow用户
提问于 2010-02-12 17:57:23
回答 6查看 69.2K关注 0票数 50

我有一个(ASP.NET 3.5) intranet应用程序,它被设计为使用表单身份验证(以及默认的ASP.NET成员系统)。我还将有关用户的附加信息存储在另一个表中,该表与aspnet_users表共享其主键。

对于属于我们域的用户,我将其域帐户名存储在辅助用户表中,并且我希望自动登录其域帐户名与表中存储的名称相匹配的用户。

我已经阅读了可用的指南-它们都来自两年或更久以前,并假设您能够在单独的登录页面上激活Windows身份验证,该页面允许您提取域帐户名。但是,据我所知,这在IIS7中是不可能的(整体身份验证方法适用于所有页面,不能有选择地停用,并且两种身份验证方法不能应用于同一页面)。

有没有办法让IIS通过请求用户的windows域帐户名?我不需要正确的AD身份验证,只需要域名。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-05-27 10:07:28

实际上,你可以做到。对于@dr_draik来说有点晚了,但这是我在谷歌搜索结果中突然出现的,所以我想我应该分享一些知识。

如果您处于经典模式-同时启用Windows和Forms身份验证。你会收到一个警告,告诉你不能同时做这两件事,但是你可以用ignore it。然后,您可以围绕各种属性拼写,如Code:

HttpContext.Current.Request.ServerVariables["LOGON_USER"]

然后把用户名从那里搜出来。

如果你处于集成模式- 4021905 IIS7 Challenge-based and login redirect-based authentication cannot be used simultaneiously通向IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication,这是一个允许你有选择地更改不同页面的身份验证的模块。

票数 49
EN

Stack Overflow用户

发布于 2010-02-13 06:50:14

你可以随时在IIS7中设置两个独立的应用程序。一种是启用Windows身份验证。另一个是具有表单身份验证的主应用程序。如果用户访问windows身份验证应用程序,该页可以获取他们的凭据并将其传递给forms身份验证应用程序。

票数 4
EN

Stack Overflow用户

发布于 2010-10-29 01:51:50

有很多关于通过设置config来使用表单并允许匿名访问应用程序来混合身份验证的文章。其次,应该为集成身份验证创建一个页面,并将IIS设置设置为拒绝匿名和使用集成身份验证。在这里,您可以通过检查requets的ServerVariables集合的"Logon_User“变量来变魔术。最后,为了让集成身份验证以静默方式登录用户,它必须具有简短的托管名称。因此,如果您的表单身份验证部分通过FQDN向internet公开,则应该有某种类型的重定向到简短的主页。我认为在IIS下只有一个应用程序和两个虚拟目录就可以实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2250921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档