- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一项带有 Windows 身份验证的服务。使用以下代码,我可以获得(通过使用客户端)使用该服务的用户的 Windows 标识。
String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
服务器中的配置是:
<binding name="messageSecurity">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
我还在服务器上看到,它使用 Kerberos 来实现这一点。
现在,我正试图了解它在我们公司网络中的重要性。在办公室,用户将使用他们的事件目录凭据登录到他们的桌面。我们的服务托管在名为“SERV1”的 Windows 服务器中。
是否只有有权访问(登录)“SERV1”的用户才能访问该服务?或者所有能够登录办公室网络(使用事件目录凭据)的用户都可以使用该服务?
有没有办法确保只有 CIO 批准的应用程序才能访问该服务,并使该服务保持 windows 身份验证?
这种身份验证检查是针对每次服务操作调用还是仅针对第一次调用进行?
服务是否可以通过任何方式获知用户的 Windows 凭据?
注意:据我所知,WindowsAuthentication 可以比作成员(member)提供程序 - 从集中位置提供用户名和密码。它可以与 ASP.Net Membership Provider 或 Active Directory Membership Provider 进行比较。
进一步阅读:
最佳答案
Can only users who have access (to login) to “SERV1” access the service?
是的 - 这就是在 WCF 服务中使用 Windows 凭据的意义所在。只有在该 Active Directory 域(或与您的域具有双向完全信任关系的单独域)中拥有域帐户的用户才能访问该服务。
Or all users who are able to login to the office network (suing active directory credentials) will be able to consume the service?
WCF 安全边界是 Active Directory 域 - 而不是特定的服务器。
Is there a way to ensure that only CIO approved applications will be accessing the service, keeping the service as windows authenticated?
那些“CIO 批准”的应用程序与其他应用程序有何不同? WCF 由帐户 - 通常是用户帐户访问。您可以限制哪些帐户可以访问您的服务(例如,要求这些帐户是给定 AD 组的成员或其他)。您不能真正基于应用程序“限制”(仅当这些应用程序使用特定的应用程序级帐户访问您的 WCF 服务时)
Does this authentication check happen for each service operation call or only for the first call?
取决于您的服务 - 如果您使用per-call WCF 服务,那么每次调用都会进行检查。如果您使用启用了“安全协商”的每 session WCF 服务,则检查会在 session 开始时发生一次,直到 session 结束才会再发生。
Is there any way the service will be able to know the windows credentials of the user?
是 - OperationContext.Current.ServiceSecurityContext.WindowsIdentity
是用于调用您的服务的 Windows 凭据(Windows 身份)。它不仅仅是用户名......
关于c# - 了解 WCF Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9588265/
我正在使用SQL Server 2008 R2,并且想创建一个触发器。 对于每个添加(仅添加),将像这样更新一列: ABC-CurrentYear-AutoIncrementCode 例子: ABC-
是否可以在显示最终一致性的数据存储中创建/存储用户帐户? 似乎不可能在没有一堆架构复杂性的情况下管理帐户创建,以避免可能发生具有相同 UID(例如电子邮件地址)的两个帐户的情况? 最终一致性存储的用户
您好, 我有一个带有 Identity 的 .NetCore MVC APP并使用 this指导我能够创建自定义用户验证器。 public class UserDomainValidator : IU
这与以下问题相同:HiLo or identity? 我们以本站的数据库为例。 假设该站点具有以下表格: 帖子。 投票。 注释。 使用它的最佳策略是什么: 身份 - 这是更常见的。 或者 HiLo -
我想将 Blazor Server 与 ASP.NET Identity 一起使用。但我需要使用 PostgreSQL 作为用户/角色存储,因为它在 AWS 中。 它不使用 EF,这是我需要的。 我创
我正在开发一个 .NET 应用程序,它可以使用 Graph API 代表用户发送电子邮件。 提示用户对应用程序进行授权;然后使用获取的访问 token 来调用 Graph API。刷新 token 用
我使用 ASP.NET 身份和 ClaimsIdentity 来验证我的用户。当用户通过身份验证时,属性 User.Identity 包含一个 ClaimsIdentity 实例。 但是,在登录请求期
所以我在两台机器上都安装了 CYGWIN。 如果我这样做,它会起作用: ssh -i desktop_rsa root@remoteserver 这需要我输入密码 ssh root@remoteser
我尝试在 mac osx 上的终端中通过 telnet 连接到 TOR 并请求新身份,但它不起作用,我总是收到此错误消息: Trying 127.0.0.1... telnet: connect to
我正在开发一个 .NET 应用程序,它可以使用 Graph API 代表用户发送电子邮件。 提示用户对应用程序进行授权;然后使用获取的访问 token 来调用 Graph API。刷新 token 用
我正在开发一项服务,客户可以在其中注册他们的 webhook URL,我将发送有关已注册 URL 的更新。为了安全起见,我想让客户端(接收方)识别是我(服务器)向他们发送请求。 Facebook和 G
在 Haskell 中,有没有办法测试两个 IORef 是否相同?我正在寻找这样的东西: IORef a -> IORef a -> IO Bool 例如,如果您想可视化由 IORef 组成的图形,这
我是 .NET、MVC 和身份框架的新手。我注意到身份框架允许通过注释保护单个 Controller 操作。 [Authorize] public ActionResult Edit(int? Id)
我有一列具有身份的列,其计数为19546542,我想在删除所有数据后将其重置。我需要类似ms sql中的'dbcc checkident'这样的内容,但在Oracle中 最佳答案 在Oracle 12
这是我用来创建 session 以发送电子邮件的代码: props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enabl
我想了解 [AllowAnonymous] 标签的工作原理。 我有以下方法 [HttpGet] public ActionResult Add() { return View(); } 当我没
在使用沙盒测试环境时,PayPal 身份 token 对某些人显示而不对其他人显示的原因是否有任何原因。 我在英国使用 API,终生无法生成或找到 token 。 我已经遵循协议(protocol)并
我对非常简单的事情有一些疑问:IDENTITY。我尝试在 phpMyAdmin 中创建表: CREATE TABLE IF NOT EXISTS typEventu ( typEventu
习语 #1 和 #5 是 FinnAPL Idiom Library两者具有相同的名称:“Progressive index of (without replacement)”: ((⍴X)⍴⍋⍋X⍳
当我第一次在 TFS 中设置时,我的公司拼错了我的用户名。此后他们将其更改为正确的拼写,但该更改显然未反射(reflect)在 TFS 中。当我尝试 checkin 更改时,出现此错误: 有没有一种方
我是一名优秀的程序员,十分优秀!