问题标签 [windows-identity]

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 回答
3421 浏览

c# - LogonUser 函数在 c# 中失败,错误代码为 0

我的目标是用 c# 将文件夹从我的系统复制到远程计算机。我到处搜索,找到了一些关于如何做到这一点的信息。我正在使用域、用户名和密码调用 LogonUser 函数,但它失败并返回 0。

下面是我的一段代码。你能帮我找出问题所在吗?

0 投票
1 回答
1430 浏览

asp.net-mvc - ASP.NET MVC 中 WIF (Windows Identity Foundation) 的用户名和密码身份验证

我们有两个现有的旧 Web 应用程序,一个用于在域内使用 Windows 身份验证的 Intranet,另一个用于执行基于用户名 + 密码的自定义 Web 表单身份验证的 Internet 应用程序。现在开发了一个新的 Web 应用程序,并将在 Internet 上提供给 Internet 和 Intranet 用户,处理两种身份验证模型。因此我们决定使用WIF。我们将在 Windows Server 2012 上使用 ASP.NET 4.5 MVC 4。

Intranet 身份验证应该不是问题,因为我们可以在这里使用 ADFS 2.0。

但是我们目前不知道如何解决用户名+密码认证。看起来我们需要开发一个自定义UserNameSecurityTokenHandler来验证提供用户名 + 密码信息的用户,这些信息通过我们的自定义会员提供程序进行验证。但我需要一些帮助来完成整个工作流程......

假设我们有一个互联网用户的自定义登录页面;并假设我们设法将互联网用户路由到这个登录页面(在 ASP.NET MVC 中),从这里到有效令牌的缺失部分是什么?收到提供的用户名 + 密码的表单或 MVC 控制器操作将如何继续触发配置的 WIF 身份提供程序?

0 投票
1 回答
666 浏览

.net - 如何获取当前 Windows 用户的 *network* 身份,而不是他们的交互式登录身份?

问题

什么是 .NET(或 p/invoke 到非托管 Windows API)方法调用以获取用于连接到 SSPI 身份验证的网络服务(如 SQL Server )的当前进程的网络标识?


我想到的特定用例是可以在未加入域的机器上工作并用于runas /noprofile /netonly /USER:DOMAIN\username启动使用该DOMAIN\username身份进行网络身份验证的进程,而不是使用本地MACHINE\username登录身份。

DOMAIN\username我想要给我传递给RUNAS这里的身份的方法调用。

谢谢!


需要明确的是,我不是在寻找方法调用来获取当前用户的本地登录身份(可能与网络身份不同)。这排除 System.Security.Principal.WindowsIdentity.GetCurrent().Name并且Environment.UserName可能System.Threading.Thread.CurrentPrincipal.Identity.Name被接受的答案。我会否决任何错误地表明其中任何一个是解决方案的答案,除非我在这里被证明是错误的。:)

0 投票
8 回答
50879 浏览

asp.net - HttpContext.Current.User.Identity.Name 返回空白

我正在使用 HttpContext.Current.User.Identity.Name 在使用 Web 应用程序时获取用户名。在开发过程中,我使用的是本地 iis,启用了集成的 Windows 身份验证并启用和禁用了匿名访问,并且我能够获取用户名。

现在,当我发布 Web 应用程序时,它返回空白。已发布服务器上的设置是相同的,我尝试使用 Page.User.Identity.Name,它也返回空白。

有谁知道这是为什么以及如何解决它?

0 投票
1 回答
1646 浏览

wcf - 为什么 WCF OperationContext 会出错 WindowsIdentity

我使用下面的代码片段在我的 WCF 服务中获取客户端用户名。在我的一台服务器上,我得到了错误的客户端名称。我的客户端是 Win7 在工作组配置中与 Server 2008R2 通信,两台机器都有用户DaveDave_Admin. 两者都是 Win7 上的管理员,只有后者是服务器上的管理员。问题是我启动我的客户端,Dave服务器将客户端显示为Dave_Admin. 我已将连接双方的身份调试为客户端上的 Dave 和服务器上的 Dave_Admin。声明资源还显示Dave_AdminSID。

我能想象发生这种情况的唯一两个原因是

  1. 服务器以某种方式找到Dave_AdminDave我怀疑的用户,或者
  2. 设置后,我可能已将管理用户重命名DaveDave_Admin,然后将新用户创建Dave为标准用户。

我只有模糊的回忆,我可能做过,但不确定我是否做过。该c:\users文件夹看起来很正常。如果我这样做了,这就是原因,还有什么要纠正的吗?

如果在用户重命名后发生这种情况,任何人都有另一种可能的解释或解决方法?

0 投票
2 回答
342 浏览

asp.net-mvc - 在没有 WIF STS/IDP 的情况下,如何在 MVC 中维护基于 cookie 的会话?

从表面上看,我认为我需要 WIF 的许多功能

  • 使用角色区分会话的能力
  • 服务器上没有会话状态
  • 所有身份验证和角色数据都驻留在仅 HTTP cookie 中
  • ASP.NET MVC 支持

但是对于我的应用程序,我想使用我自己的自定义身份存储并且不使用 Windows 身份验证。

这让我相信我需要设置一个自定义 IDP 来使用 WIF,而且我开始认为这可能是太多的开销/人工。

  1. 是否有类似于 WIF+ 和 IDP 的技术可以为我提供上面列出的功能?

  2. 缺乏这一点,我有一个定义明确的模式来实现 IDP + 网站的组合吗?

0 投票
1 回答
180 浏览

c# - 为什么我在使用消息安全性时会获得 WindowsIdentity?

从无安全性切换到证书时,我在IAuthorizationPolicy.Evaluate (evaluationContext.Properties.TryGetValue("Identities", out obj)? 这是设计使然:

由此 :

对此:

有什么方法可以避免在 IAuthorizationPolicy.Evaluate 中获取 WindowsIdentity?我只希望在使用此绑定时设置 WindowsIdentity :

0 投票
1 回答
6363 浏览

c# - 如何将访问权限“所有人”分配给目录

我在 C# 中的小程序中为 Windows上的目录文件夹“ wwwroot ”上的“ Everyone ”分配访问权限时遇到问题。这是我的做法。

但是我仍然遇到同样的错误:

System.Security.Principal.IdentityNotMappedException

0 投票
2 回答
242 浏览

.net - .Net Secure Token Service (STS) 基于 Realm 发行不同的 Token

我已经实现了一个 .Net STS 网站,一切正常。令牌填充了角色类型的声明,这些声明用于控制用户在应用程序中可以访问的内容。

一个新的要求是需要有第二个应用程序,它是主要应用程序中功能的子集,它提供系统某些部分的只读视图。它还应该使用 Active Directory 身份验证,以便用户无需使用用户名和密码组合登录。

我已扩展 STS 网站以使用 Active Directory 对用户进行身份验证,并发出一个包含单个声明/角色的令牌,该声明/角色强制执行此只读视图。

这很好用,但是我的问题是用户很可能会同时使用这两个应用程序。发生这种情况时,令牌会填充更多角色,并且只读应用程序中的用户可以访问的权限超出其应有的权限。

我可以看到解决此问题的唯一方法是将辅助/只读应用程序配置为使用不同的安全令牌。

我的问题是.Net STS 是否可以做到这一点,如果可以,怎么做?

非常感谢,约翰

0 投票
2 回答
2693 浏览

.net - 如何存储 WindowsIdentity 以供以后不确定的时间使用

我有一个 WCF 服务,它在以后的不确定时间代表用户排队和执行命令。我希望将 WindowsIdentity 存储为字节数组并将其填充到数据库中,然后反序列化并使用该对象。

有时,服务按预期执行:它以用户身份正确序列化、存储、反序列化和执行命令。其他时候,我在反序列化 WindowsIdentity 时收到错误“调用的目标已引发异常”,还有其他时候反序列化有效,但在执行命令的过程中,标识不再有效。

我的问题是:在 .NET 4.0 框架中,是否可以在没有明确用户名和密码的情况下使用 WCF 在稍后的不确定时间代表用户执行命令?

我正在使用的代码如下:

序列化:

反序列化:

WindowsIdentity 捕获:

用法: