问题标签 [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.
c# - LogonUser 函数在 c# 中失败,错误代码为 0
我的目标是用 c# 将文件夹从我的系统复制到远程计算机。我到处搜索,找到了一些关于如何做到这一点的信息。我正在使用域、用户名和密码调用 LogonUser 函数,但它失败并返回 0。
下面是我的一段代码。你能帮我找出问题所在吗?
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 身份提供程序?
.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
被接受的答案。我会否决任何错误地表明其中任何一个是解决方案的答案,除非我在这里被证明是错误的。:)
asp.net - HttpContext.Current.User.Identity.Name 返回空白
我正在使用 HttpContext.Current.User.Identity.Name 在使用 Web 应用程序时获取用户名。在开发过程中,我使用的是本地 iis,启用了集成的 Windows 身份验证并启用和禁用了匿名访问,并且我能够获取用户名。
现在,当我发布 Web 应用程序时,它返回空白。已发布服务器上的设置是相同的,我尝试使用 Page.User.Identity.Name,它也返回空白。
有谁知道这是为什么以及如何解决它?
wcf - 为什么 WCF OperationContext 会出错 WindowsIdentity
我使用下面的代码片段在我的 WCF 服务中获取客户端用户名。在我的一台服务器上,我得到了错误的客户端名称。我的客户端是 Win7 在工作组配置中与 Server 2008R2 通信,两台机器都有用户Dave
和Dave_Admin
. 两者都是 Win7 上的管理员,只有后者是服务器上的管理员。问题是我启动我的客户端,Dave
服务器将客户端显示为Dave_Admin
. 我已将连接双方的身份调试为客户端上的 Dave 和服务器上的 Dave_Admin。声明资源还显示Dave_Admin
SID。
我能想象发生这种情况的唯一两个原因是
- 服务器以某种方式找到
Dave_Admin
了Dave
我怀疑的用户,或者 - 设置后,我可能已将管理用户重命名
Dave
为Dave_Admin
,然后将新用户创建Dave
为标准用户。
我只有模糊的回忆,我可能做过,但不确定我是否做过。该c:\users
文件夹看起来很正常。如果我这样做了,这就是原因,还有什么要纠正的吗?
如果在用户重命名后发生这种情况,任何人都有另一种可能的解释或解决方法?
asp.net-mvc - 在没有 WIF STS/IDP 的情况下,如何在 MVC 中维护基于 cookie 的会话?
从表面上看,我认为我需要 WIF 的许多功能
- 使用角色区分会话的能力
- 服务器上没有会话状态
- 所有身份验证和角色数据都驻留在仅 HTTP cookie 中
- ASP.NET MVC 支持
但是对于我的应用程序,我想使用我自己的自定义身份存储并且不使用 Windows 身份验证。
这让我相信我需要设置一个自定义 IDP 来使用 WIF,而且我开始认为这可能是太多的开销/人工。
是否有类似于 WIF+ 和 IDP 的技术可以为我提供上面列出的功能?
缺乏这一点,我有一个定义明确的模式来实现 IDP + 网站的组合吗?
c# - 为什么我在使用消息安全性时会获得 WindowsIdentity?
从无安全性切换到证书时,我在IAuthorizationPolicy.Evaluate (evaluationContext.Properties.TryGetValue("Identities", out obj)
? 这是设计使然:
由此 :
对此:
有什么方法可以避免在 IAuthorizationPolicy.Evaluate 中获取 WindowsIdentity?我只希望在使用此绑定时设置 WindowsIdentity :
c# - 如何将访问权限“所有人”分配给目录
我在 C# 中的小程序中为 Windows上的目录文件夹“ wwwroot ”上的“ Everyone ”分配访问权限时遇到问题。这是我的做法。
但是我仍然遇到同样的错误:
System.Security.Principal.IdentityNotMappedException
.net - .Net Secure Token Service (STS) 基于 Realm 发行不同的 Token
我已经实现了一个 .Net STS 网站,一切正常。令牌填充了角色类型的声明,这些声明用于控制用户在应用程序中可以访问的内容。
一个新的要求是需要有第二个应用程序,它是主要应用程序中功能的子集,它提供系统某些部分的只读视图。它还应该使用 Active Directory 身份验证,以便用户无需使用用户名和密码组合登录。
我已扩展 STS 网站以使用 Active Directory 对用户进行身份验证,并发出一个包含单个声明/角色的令牌,该声明/角色强制执行此只读视图。
这很好用,但是我的问题是用户很可能会同时使用这两个应用程序。发生这种情况时,令牌会填充更多角色,并且只读应用程序中的用户可以访问的权限超出其应有的权限。
我可以看到解决此问题的唯一方法是将辅助/只读应用程序配置为使用不同的安全令牌。
我的问题是.Net STS 是否可以做到这一点,如果可以,怎么做?
非常感谢,约翰
.net - 如何存储 WindowsIdentity 以供以后不确定的时间使用
我有一个 WCF 服务,它在以后的不确定时间代表用户排队和执行命令。我希望将 WindowsIdentity 存储为字节数组并将其填充到数据库中,然后反序列化并使用该对象。
有时,服务按预期执行:它以用户身份正确序列化、存储、反序列化和执行命令。其他时候,我在反序列化 WindowsIdentity 时收到错误“调用的目标已引发异常”,还有其他时候反序列化有效,但在执行命令的过程中,标识不再有效。
我的问题是:在 .NET 4.0 框架中,是否可以在没有明确用户名和密码的情况下使用 WCF 在稍后的不确定时间代表用户执行命令?
我正在使用的代码如下:
序列化:
反序列化:
WindowsIdentity 捕获:
用法: