草庐IT

ruby - Ruby/Rack 中的单点登录服务器身份验证

我在Windows服务器上编写和托管Web应用程序以供内部网使用。我的服务器堆栈使用Sinatra(使用Rack)、Thin和(在某些情况下)Apache仅用于反向代理。我想在我们的ActiveDirectory支持的域中支持单点登录(使用NTLM或Kerberos)。我已经看到我可以使用mod_ntlm或mod_auth_kerb当我在Apache后面执行我的NTLM身份验证时。我还没有尝试过,但我认为它会起作用。当我不支持Apache时,我的问题是关于NTLM或Kerberos身份验证,仅使用Thin和Sinatra。我看过rack-ntlm,但那里的使用细节非常稀少。请在Sina

ruby - 如何从代理后面更新 Ruby Gems (ISA-NTLM)

我背后的防火墙正在NTLM-only模式下运行MicrosoftISA服务器。是否有人成功通过RubySSPIgem或其他方法安装/更新他们的Rubygem?...还是我懒惰?注意:rubysspi-1.2.4不工作。这也适用于IronRuby项目的一部分“igem” 最佳答案 对于Windows操作系统,我使用Fiddler解决了这个问题。从www.fiddler2.com安装/运行Fiddler运行gem:$geminstall--http-proxyhttp://localhost:8888$gem_name

javascript - 判断浏览器是否支持windows集成认证

有没有一种方法可以确定浏览器是否支持NTLM而无需在IIS中为特定站点或目录启用NTLM并且不显示登录对话框/弹出窗口?最好使用ColdFusion或JS和CF的某种组合来确定这一点。我不想将此限制为仅IE,因为其他浏览器(例如FF)支持NTLM身份验证。 最佳答案 如果你请求一个页面,页面返回401并说它只接受NTLM,然后浏览器发送另一个HTTP数据包试图响应它,那么它支持NTLM。您不必让IIS执行此操作——您可以在任何页面上设置响应代码和header请求NTLM。如果您没有收到另一个请求,则表示客户端无法通过这种方式进行身份

asp.net - 在未经授权的请求后抑制 NTLM 对话框

在最近的一个Sharepoint项目中,我实现了一个身份验证Web部件,它应该取代NTLM身份验证对话框。只要用户提供有效凭据,它就可以正常工作。每当用户提供无效凭据时,InternetExplorer中就会弹出NTLM对话框。我的通过XmlHttpRequest进行身份验证的Javascript代码如下所示:functionLogin(){varrequest=GetRequest();//retrievesXmlHttpRequestrequest.onreadystatechange=function(){if(this.status==401){//unauthorizedre

windows - 通过带有 NTLM 的 IntelliJ IDEA 使用 Subversion

有人知道我在使用Subversion时如何在IDEA中自动使用当前的NTLM凭据吗?我有IDEA9.0.4并收到“未登录到Subversion'[ADRealm]'(http://[Branch])”。(将[信息]替换为实际的技术细节)当我尝试更新/提交/等时。 最佳答案 尝试设置以下系统属性-Dsvnkit.http.ntlm=jna-这将使SVNKit通过JNA使用nativeWindowsAPI以支持JNA。native实现可能更适合您。SVNKit支持NTLM的纯Java和基于JNA的实现,但不幸的是,在某些环境中效果不佳。

php - 使用 PHP 和 Apache 的 NTLM 登录

我想使用ntlm协议(protocol)登录我的系统。我找到了Apache模块-mod_auth_sspi,但我需要多平台解决方案。我的应用程序必须在windows和linux上运行(两者都安装了php>=5.3和apache>2.0)。使用mod_auth_sspi我可以通过ntlm登录,但前提是我设置了:需要用户有效在htaccess或http.conf中。如果我不设置此值,我将无法检索USER_REMOTE,并且我不知道如何实现我需要的解决方案:我正在寻找允许我使用登录名/密码(ntlm)向用户显示表单的解决方案,或者如果用户取消此表单,系统应将他重定向到替代登录表单(数据将从数

windows - 为什么 Windows 8 在登录 MS 帐户后发送不同的授权 header

我们有什么?客户端:win8,ie11,使用域凭据登录系统。服务器:3个tomcat7节点运行在apache2.2.22之后。应用程序使用waffle库对以sso方式登录域的Windows用户进行身份验证。应用程序使用springsecurity,关于此主题的主要内容是处理通过表单登录的过滤器位于处理身份验证header的过滤器之前。NegotiateSecurityFilterProvider仅支持协商协议(protocol),不支持NTLM我们做什么?通过直接链接进入申请:https://app.domain.com/app_name/subordinates.do.没关系,我们携

c# - Windows 集成 (NTLM) 身份验证与 Windows 集成 (Kerberos)

Windows集成(NTLM)身份验证和Windows集成(Kerberos)之间有什么区别?如何在IIS6中实现这些w.r.t.MSDN 最佳答案 Kerberos和NTLM是验证用户密码的不同算法,无需向服务器透露密码。有关NTLM的更多信息和Kerberos在维基百科。如果启用Windows身份验证,通常首选Kerberos,如果不可用,它将回退到NTLM。NTLM只需要客户端与网络服务器通信以进行身份​​验证。Web服务器处理与域Controller的通信。这对于无法从Internet访问DC的公共(public)站点来说是

为每个请求启动 C# WebClient NTLM 身份验证

考虑一个简单的C#NETFramework4.0应用程序,它:使用网络客户端使用NTLM进行身份验证(在IIS6.0和IIS7.5服务器上测试)使用DownloadString()从URL中多次检索字符串这是一个运行良好的示例:usingSystem;usingSystem.Net;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){stringURL_status="http://localhost/status";CredentialCachemyCache=newCredentialCach

c# - 仅在特定机器上调用 Web 服务时出现 401

我们用C#开发了一个WPF应用程序,并使用RestSharp与一个简单的Web服务进行通信,如下所示:Client=newRestClient(serviceUri.AbsoluteUri);Client.Authenticator=newNtlmAuthenticator(SvcUserName,SvcPassword.GetString());一切都很好,直到我们接到电话说在某些机器上(大多数工作)应用程序无法连接到服务。使用fiddler直接调用服务方法有效。然后我们提取了一个小型.net控制台应用程序并尝试使用RestSharp和直接使用HttpWebRequest进行服务调用