问题标签 [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# - 如何从 DOMAIN\user 格式的用户名创建 WindowsIdentity/WindowsPrincipal
WindowsIdentity(string)
构造函数要求用户名的格式username@domain.com
。但就我而言,我从数据库中以旧DOMAIN\user
格式获取用户名(然后必须检查他们的 Windows 角色成员资格)。
WindowsPrincipal
从旧式(sAMAccountName)用户名创建的最佳方法是什么?
authentication - 如何使用 Windows 身份验证和自定义角色提供程序设置 OWIN
在 MVC4 中,我<authentication mode="Windows"/>
在 web.config 中启用并创建了一个自定义角色提供程序,然后它会自动WindowsIdentity
为RolePrincipal
您包装。像魅力一样工作。
您将如何使用 OWIN 和/或 Microsoft.ASPNET.Identity 在 MVC5 中执行此操作?
validation - 发送许多错误密码后,使用 PrincipalContext 验证凭据失败,密码正确
使用 (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName)) { isWindowsAutenticated = pc.ValidateCredentials(username, password);
}
如果向此代码传递了许多错误的用户密码,然后传入正确的密码,即使密码绝对正确,它仍然返回 false。
任何解决此问题的建议表示赞赏。
.net - 为什么选择 WIF(Windows 身份基金会)?
Windows Identity Foundation 的便携性如何?而我无法通过自定义安全逻辑的复杂设置得到什么?
生成 ClaimIdentity 和 Principal 后,如何将其委托给 WebAPI/NServiceBus/ServiceStack 等中间层服务?特别是在自托管场景中。
与 WCF、MS 自己的框架集成的指令相当复杂。从这里可以看出- 它可能可以与史蒂文金竞争本世纪最冗长的恐怖小说。更不用说我正试图摆脱 WCF,因为它太笨重了,坦率地说,WIF 让 WCF 看起来像儿戏。
我想确保这不是另一个昂贵的、过度设计的粪堆,就像来自 Redmond 的其他一些框架(例如,Biztalk、WF、Web 表单,甚至在某种程度上,XAML)。所有这些框架都采取了最复杂的路径,试图一次处理太多的事情来解决问题,而这些问题可以通过 FOS 替代品(如 CSS、MVC、NSB 甚至 JavaScript(我讨厌 JavaScript))更优雅地解决。
这个可怕的抽象又给了我什么?为什么不直接编写我自己的 RBAC 框架,它将在 JSON 字符串中序列化声明和身份,根据需要对其进行加密和传递。这将花费我全部 30 分钟的时间来编写,而不是花费数周的时间学习 WIF 并花费数月的时间将其与各种子系统集成。
c# - 远程服务上的模拟显示用户“NT Authority\Anonymous Logon”登录失败
我有一个服务,我想在访问数据库时使用我想访问数据库以使用调用身份凭证。
在访问特定数据库之前,我通过以下方式进行模拟
当服务在我的 PC 上本地运行时,此方案运行良好。但是,当部署在另一台远程 PC 上时,出现错误:
用户“NT Authority\Anonymous Logon”登录失败
一旦它尝试访问数据库。
DBAdmin 告诉我 SQL Server 有一个 SPN。
运行服务的帐户是域帐户。
c# - 从 ASP.NET 页面中获取 Windows 登录
就像标题所说的那样。需要我们的 asp.net 页面中的 Windows 登录和域信息。
我试过了
但它返回 IIS 应用程序池而不是用户名
谢谢
c# - WindowsIdentity 客户端用户名和域返回错误值 C#
我正在尝试从 Windows 获取用户名和域,使用
但它总是返回“IIS APPPOOL\DefaultAppPool”。我该怎么做才能返回正确的值?
谢谢
sharepoint - Sharepoint 上的模拟全文搜索(无密码)
我试图在模拟特定用户时执行搜索查询。
目标是拥有一个接收用户登录名(通过查询字符串或请求标头)的 Web 服务,执行全文查询并返回结果,同时遵守安全调整。
换句话说,我只需要获得模拟用户有权看到的结果。
我目前的代码是:
基本上,我在实例化 FullTextQuery 之前替换了当前身份,但这与什么都不做一样,因为结果只会根据真实登录的用户而变化,而不是被模拟的用户。
这里有什么提示吗?
在此先感谢,干杯!
c# - 如何获取远程登录用户的 WindowsIdentity?
我正在开发具有以下详细信息的客户端服务器应用程序:
服务器:
- Windows Active Directory 域中的用户
- 在 IIS 中运行的 WCF 服务提供针对 Windows AD 的身份验证服务
- 提供基于 REST 的身份验证 API,该 API 使用 Windows API logonUser。
客户:
- 客户端使用 REST SDK(基于 Visual Studio 2013)连接服务器
- 客户端提供身份验证 API 用于使用 HTTPS 进行身份验证。
目前我正在努力验证在服务器客户端登录的 Windows 用户:
- AD用户登录客户端调用鉴权API
- 当前登录的用户详细信息必须使用 HTTPS 发送到服务器(当然只有用户名)
- 使用从客户端检索到的信息创建 WindowsIdentity 结构。
我试过以下:
- 从客户端机器获取 SID 并将其传递给服务器。从客户端登录的 SID 重新创建 WindowsIdentity。
- 我无法从传递的 SID 中获取 WindowsIdentity。
问题:
- 如何从客户端传递的登录 AD 用户的 SID 获取服务器(C#)中的 Windows 身份?
- 还有其他更好的方法来实现上述设置吗?
c# - 登录用户申请
我正在使用以下代码来获取当前用户和我的应用程序进程的所有者。
当前用户:
流程所有者:
我需要从语法上确定我的应用程序实例在哪个用户帐户中运行。
基本上,我允许每个登录用户使用一个我的应用程序实例。
当用户正常启动应用程序时,上述代码有效。当用户右键单击快捷方式(或使用类似方法)并选择“以管理员身份运行”时,代码会发生故障。在这种情况下,进程所有者将不是登录用户,而是管理员。
这对确定多个实例造成了严重破坏,更不用说正确的数据库路径等了。
从我的角度来看,正常启动的实例和以管理员身份启动的实例都是同一登录用户下的实例,只是所有者不同。
如何确定进程属于哪个登录用户?如前所述,检查当前用户的进程所有者并不总是最好的检查。
回答:
这是从所选答案开发的完整方法。
当前进程SessionId为: