我正在阅读关于如何在IIS 7上为我的Web应用程序设置Windows身份validation 。 在描述中他们有作为一个选项在IIS中的窗口身份validation。 我有Windowsvalidation打开我的机器(我在Windows 7专业64位),我仍然没有看到它作为我的Web应用程序的身份validation选项之一。 为什么?
我正在使用Windows身份validation的C#和ASP.Net应用程序。 即在Web.config中: <system.web> <authentication mode="Windows" /> </system.web> 我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等)。 我可以通过使用以前的Windows 2000用户login名(例如: SOMEDOMAIN\someuser ) string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"]; 我已经为用户制定了LDAP查询,使用他们当前的login名(不是他们的Windows 2000以前的用户login名): DirectorySearcher adSearch = new DirectorySearcher( "(userprincipalname=someuser@somedomain.com.au)"); SearchResult adSearchResult = adSearch.FindOne(); 但是,我不知道如何使用他们的W2Klogin名login名searchAD,或者以“someuser@somedomain.com.au”格式获取他们的login名。 有任何想法吗?
在提出这个问题之前,我已经尽力searchnetworking了。 我在stackoverflow上看到过类似的问题,但是现在很长一段时间都没有得到满意的结果。 这是再次尝试得到这个经常性的问题的答案。 问题 如何构build一个为Intranet用户使用“Windows身份validation”的ASP.NET MVC 5网站,为Internet用户构build“Forms Auth”? 我们希望使用ASP.NET身份来实现这一点。 而且,我们不希望使用Active Directory组进行授权。 对于Intranet用户,我们希望使用Active Directory对其进行身份validation,然后回退到ASP.NET身份来pipe理其angular色和其他个人资料数据。 如果我们不要求最终用户selectauth方法,那将会很好。 Web应用程序应该无缝地login到Intranet用户。 他们甚至不应该知道有一个login屏幕。 同样,不应要求互联网用户input他们的域名证书。 他们应该立即看到基于表单的login屏幕。 有没有解决这个问题的build议方法? 或者,如果以下任何一种解决scheme是正确的,你能否评论? http://world.episerver.com/blogs/Dan-Matthews/Dates/2014/8/Mixing-Forms-and-Windows-Authentication/ https://github.com/MohammadYounes/MVC5-MixedAuth IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication 仅供参考这是2004年的文章,现在可能没有帮助: https : //msdn.microsoft.com/en-us/library/ms972958.aspx
我正在开发一个MVC3应用程序,要求用户通过AD进行身份validation。 我知道在MVC3中有选项来创build一个Intranet应用程序,它可以根据AD自动validation用户,但它使用Windows身份validation并自动login。 这个应用程序可以在“开放”工作站上访问,用户需要input他们的用户名和密码。 任何示例或在线教程将是伟大的。 一个示例项目将是例外。
在尝试启用OWIN&AspNet Identity到我的Web Api项目(在VS 2013 + .Net 4.5.1中)后,我在每个有效或无效(request to none exists控制器)请求中收到以下错误: <Error> <Message>An error has occurred.</Message> <ExceptionMessage> No OWIN authentication manager is associated with the request. </ExceptionMessage> <ExceptionType>System.InvalidOperationException</ExceptionType> <StackTrace> at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.SuppressDefaultAuthenticationChallenges(HttpRequestMessage request) at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.<SendAsync>d__0.MoveNext() — End of stack trace from previous location where exception was thrown — at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at […]
我正在运行MVC3和一个Windows身份validation的Web应用程序。 当我部署到IIS6时,它运行良好,直到我点击需要身份validation的页面。 然后,当我在应用程序中没有跟踪时,它会自动redirect到/帐户/login,并且我的web.configconfiguration为Windowsvalidation。 有任何想法吗? 这是我的整个web.config文件: http : //pastie.org/1568510
所以我使用Intranet模板创build了一个新的ASP.NET MVC项目。 web.config包含适当的值(例如<authentication mode="windows"/> )。 如果我使用VSnetworking服务器启动networking应用程序,这一切都看起来很好 – 页面显示我的Windows域和用户名和所有。 然而,这在Opera和Safari以及IE和FF,这对我说,它根本不使用Windows身份validation(因为据我所知,这不适用于除IE / FF之外的任何浏览器)。 下一步是让它通过本地IIS工作。 我创build一个指向www.mysite.mydomain为127.0.0.1的hosts文件条目。 因此,在IIS中,我创build了一个绑定到www.mysite.mydomain的网站,并启用Windows身份validation并禁用匿名身份validation。 我已经设置IE和FF来启用Windows身份validation,如下所示: IE 将URL添加到Intranet组 确保在高级设置中启用Windows身份validation FF 将“www.mysite.mydomain”放入network.automatic-ntlm-auth.trusted-urisconfiguration设置中。 但是,当我在IE / FF拨号www.mysite.mydomain我得到一个login提示。 有趣的是,即使我在这里键入我的Windowslogin,它仍然失败,并再次显示我的login提示。 我们这里没有活动目录,但我的理解是,它应该适用于本地帐户。 我不能想到我需要做的任何事情。 有什么build议么? 编辑:我们最近切换到使用Active Directory,问题依然存在。 编辑:当我取消login提示,我被带到一个'IIS 7.5详细错误'页面与以下信息: HTTP错误401.2 – 未经授权您无权查看此页面,因为validation标头无效。**
我正在创build一个网站,但在数据库中我使用Windows身份validation。 我知道你使用这个SQLauthentication <connectionStrings> <add name="NorthwindContex" connectionString="data source=localhost; initial catalog=northwind;persist security info=True; user id=sa;password=P@ssw0rd" providerName="System.Data.SqlClient" /> </connectionStrings> 我如何修改这个以使用Windows身份validation?
我正在尝试使用VS2010与VS2010托pipe一个Silverlight应用程序。 我修改了我的applicationhost.config文件,以允许修改正确的configuration设置。 我有我的web.config中的以下内容: <location path=""> <system.webServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <windowsAuthentication enabled="true" /> </authentication> </security> </system.webServer> </location> 我没有被authentication,我的域名服务调用作为用户返回空logging。 安装VS2010 SP1 BETA后,我能够得到这个工作,但我试图让这只与IIS Express工作。 如何启用Windows身份validation以使用IIS Express。 有没有configuration设置,我错过了?
我试图在Visual Studio 2013中进行debugging时selectWindows用户名。我只是简单地使用: httpcontext.current.user.identity.name 如果我运行在我的开发服务器上,它工作正常,如果我在debugging模式下运行任何以前的版本的Visual Studio它也可以正常工作。 我的问题是 – 如果我在Visual Studio 2013上运行这个我得到一个空string。 我的网页configuration如下。 <system.web> <authentication mode="Windows"/> <identity impersonate="false"/> <authorization> <allow users="*"/> </authorization> <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/> <customErrors mode="Off"/> </system.web>