问题标签 [windows-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6869 浏览

web-services - 使用 WCF 连接到 SharePoint 并对其进行身份验证

我对这个疯了,在任何地方都找不到任何像样的信息..

有很多关于使用 WCF 和 Ntlm 模拟连接到 SharePoint 3.0 Web 服务的信息。但是,当访问 SharePoint 服务的客户端远离 SharePoint 网络并需要进行身份验证时,如何最好地配置凭据并将其传递给 SharePoint 服务。

我可以在 servicemodel.config 中的 SharePoint 框本地指定 Windows 用户名和密码吗?我们的 SharePoint 实例在访问它的域之外作为独立运行。因此,模拟是无关紧要的,因为共享点框上不存在域用户。

我尝试了许多组合,例如以下代码..但是我反复遇到异常,例如:

“HTTP 请求未经客户端身份验证方案‘匿名’未经授权。从服务器收到的身份验证标头是‘NTLM,Basic realm="wss.internaldev.local"’。

谁能提供一个使用 Windows 凭据连接到“远程”SharePoint Web 服务的示例?

绑定示例:

或者..

行为:

或者

0 投票
4 回答
1976 浏览

asp.net - 当应用程序从本地主机运行时,数据库连接工作正常。从开发服务器登录失败

我有一个连接到数据库的应用程序,从用户表中检索用户名并将其与检索到的用户名匹配System.Security.Principal.WindowsIdentity.GetCurrent.Name

在我的本地主机上,一切正常。数据库存在于开发服务器上,但应用程序位于我的本地主机上。我所有的授权和身份验证技术都运行顺利。

但是,当我将应用程序发布到开发服务器时,我遇到了以下错误。

我无法确定会导致这种情况的原因。任何帮助将不胜感激。

谢谢!

编辑:这是连接字符串!

另外,为了上下文。此身份验证需要获取用户的 Windows 用户名并将其与数据库中的用户名进行匹配。用户将具有内置到数据库中的 Computername\Myname 用户名(如果他们被授权使用程序的所需部分,即)。

再次感谢 :)

0 投票
2 回答
76340 浏览

jquery - 如何使用 jQuery 将 Windows 身份验证传递给 Web 服务?

我正在使用 jQuery 调用这样的 .Net Web 服务:

现在我想在 Windows 身份验证中包装“ https://example.com/myservice.asmx ”。如何使用 jQuery/javascript 将凭据传递给服务?

理想情况下,我想使用当前用户的凭据,但如果需要,我可以为所有服务调用使用 1 个主凭据。

0 投票
1 回答
3117 浏览

asp.net - ASP.NET MVC Urls 和 IIS 集成 Windows 身份验证

我有一个 ASP.NET MVC 应用程序,它完全支持表单身份验证。但是,有一组路由 (/report/%) 我需要强制启用集成 Windows 身份验证,因为这些页面需要模拟当前用户(出于安全原因)。

如果我将整个站点设置为集成 Windows 身份验证,这一切都有效,除了 Firefox 在用户访问站点主页时提示用户输入用户名/密码两次(一次用于 Windows 身份验证,然后再次用于表单身份验证),而 IE 仅提示表单认证。这很好,我知道这是 Firefox 的默认行为,但是为了不惹恼用户,我被要求将 Windows 身份验证要求限制在站点的 /report/* 部分,因此只有在他们转到/report/% 中的任何页面。

在 ASP.NET WebForms 中,这很容易,因为有一个 physcial /report 文件夹可以放置身份验证配置,但在 MVC 中,这个 URL 是虚拟的,所以我不能这样做。有谁知道这样做的好方法?我尝试创建一个“网关”aspx 页面,用户需要先通过该页面才能重定向到相应的报告页面,尽管 Firefox 确实在正确的位置提示用户输入他们的 Windows 凭据,但它似乎并没有保留将后续请求的这些详细信息发送到任何 /report/% 页面。有任何想法吗?将超级感激!

0 投票
1 回答
22411 浏览

java - 如何在不提示输入用户名/密码的情况下使用 Windows 身份验证调用 Active Directory?

InitialLdapContext您可以在以下帖子中看到使用 Java 中的类访问 LDAP 的示例:

http://forums.sun.com/thread.jspa?threadID=603815

http://forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.html

这需要输入登录名和密码(即使运行 java 进程的服务帐户或用户已经登录才能运行)。

由于用户或服务帐户已经登录 - 他们已经可以在没有用户名或密码的情况下运行如下活动目录命令:

那么,如果 Windows 已经可以使用这个查询,为什么 Java 需要登录密码呢?Kosuke 暗示在这篇博文的结论中不需要它:

https://community.oracle.com/blogs/kohsuke/2008/06/12/more-active-directory-integration-java

我们如何在 Java 中调用 Active Directory,而无需:

  • 使用登录名或密码(在已登录的帐户下运行)?
  • 在命令行上执行命令?
0 投票
3 回答
428 浏览

asp.net - 如何在 ASP.NET 中下载文件并立即将其提供给客户端?

基本上我需要从需要 Windows 身份验证的位置提供文件。当然,我不想让我的客户直接处理它,而是想实现一个流程,以便他们可以像在我的服务器上一样简单地下载文件,当然,在他们登录到我的系统之后。这是我到目前为止所拥有的,它似乎无法正常工作:

当我尝试这个时,我可以查看文件,但是编码或内容类型有问题,例如,PDF 将包含 16 个空白页(而不是 16 页文本)。

知道我错过了什么吗?

如果有更好的方式来表达这个问题,请随意更改这个问题的标题

更新: 尝试了下面的两个响应,但没有运气。我现在认为内容类型和编码都可以,但可能身份验证失败?内容长度比实际应该小很多......我是否使用了错误的 Windows 身份验证方法?

0 投票
1 回答
682 浏览

security - 某些模拟用例是否需要 LSA MSV1_0 子身份验证包?

问候,

我正在与一个供应商合作,该供应商已经实现了一些使用 Windows LSA MSV1_0 子身份验证包的代码(如果您有兴趣,可以使用 MSDN 信息:http: //msdn.microsoft.com/en-us/library/aa374786 (VS.85 ).aspx ),我试图弄清楚是否有必要。

据我所知,子身份验证例程和过滤器允许挂钩或自定义标准 LSA MSV1_0 登录事件处理。问题是我不明白为什么供应商的产品需要这些功能。

我问过他们,他们说他们用它来进行模仿。该产品确实需要进行模拟,但根据我有限的 win32 知识,他们可以使用普通的身份验证 API(LsaLogonUser、ImpersonateLoggedOnUser 等)在没有 subauthentication 包的情况下获得所需的功能。此外,我使用过许多类似的产品,它们都进行模拟,这是唯一使用子身份验证包的产品。

如果您想知道为什么我会在意,该产品的早期版本在子身份验证包 dll 中有一个错误,会导致锁定或蓝屏。这让我相当紧张,并让我质疑使用这种低级、内核敏感的接口。我想回到供应商那里说“你不可能需要一个 LSA 子身份验证包来模拟 - 把它拿出来”,但我不确定我是否了解标准 win32 身份验证的用例和可能的限制/impersonation API 足以明确提出该声明。

那么,对于那里的 win32 安全专家,如果您所做的只是模拟,是否有任何理由需要LSA MSV1_0 子身份验证包?

提前感谢您的任何想法!

0 投票
2 回答
1932 浏览

asp.net - 保护 ELMAH,同时还可以通过 RSS 阅读器访问它

我们在应用程序中使用 ELMAH 错误异常日志记录。我想保护 ELMAH 不受普通用户的影响,同时仍然让应用程序的管理员/开发人员可以使用它。

当您在 web.config 中使用表单身份验证设置安全性时,您将失去访问 RSS 提要的能力。我希望能够保护 ELMAH,但仍然通过对 axd 的身份验证,以便能够从 RSS 阅读器访问 RSS 提要(即 /elmah.axd/rss)。

认为 http 身份验证是正确的,因为我可能可以使用以下 url 语法http://username:password@somedomain.com/elmah.axd/rss访问 rss 提要,我假设您需要设置身份验证模式 = windows”在 web.config 中的特定路径上。一个问题是如何在虚拟文件上设置凭据?

查看 Google 会带回CodeProject上关于如何使用 cookie 设置身份验证传递的这篇文章。这是解决我问题的好方法吗?

有没有其他更好的方法可以在安全的同时访问 RSS 提要?

谢谢。

0 投票
5 回答
23650 浏览

asp.net - 使用表单身份验证进行模拟

我有一个 ASP.NET 站点,它必须使用表单身份验证而不是 Windows 身份验证来访问ActiveDirectoryMembershipProvider. 该站点必须使用表单,因为它们需要设计的输入表单,而不是 Windows 身份验证使用的浏览器身份验证弹出窗口。

该站点需要模拟通过 Active Directory 登录的用户来访问用户特定的文件。

但是,WindowsIdentity.GetCurrent()尽管HttpContext.Current.User.Identity我的 web.config 包含:

我不能使用LoginUser()and ,WindowsIdentity.Impersonate()因为我需要冒充 AD 用户来获得他们的特定权限,而且我不知道用户的密码,因为 Forms 负责登录。

是否有可能从 login.aspx.cs 获取System.Web.UI.WebControls.Login.Password,然后将LoginUser()令牌保存在会话变量中以WindowsIdentity.Impersonate()备后用?或者也许是一种更安全的以正确方式模拟的方法?

我很困惑为什么表单身份验证不能自动<identity impersonate="true" />

我读过这个http://msdn.microsoft.com/en-us/library/ms998351.aspx但它使用 Windows 身份验证。

0 投票
8 回答
91086 浏览

asp.net - ASP.NET Windows 身份验证注销

在像这样的 web.config 中使用 Windows 身份验证时如何注销?

我已经尝试了以下失败。它重定向,但不注销用户。

背景资料:

我必须使用 Windows 身份验证,因为我需要使用 Active Directory 模拟身份来访问本地文件。而且我无法使用 Forms 身份验证来模拟,因为它HttpContext.Current.User.Identity不会是WindowsIdentity. 使用表单身份验证进行模拟