我有一个Windows身份验证服务.使用以下代码,我可以获得(通过使用客户端)消费该服务的用户的Windows标识.
String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
Run Code Online (Sandbox Code Playgroud)
服务器中的配置是:
<binding name="messageSecurity">
<security mode="Message">
<message clientCredentialType="Windows"/>
</security>
</binding>
Run Code Online (Sandbox Code Playgroud)
我还读到,在服务器中,它使用Kerberos来实现这一点.
现在,我试图了解它在我们企业网络中的重要性.在办公室中,用户将使用其活动目录凭据登录其桌面.我们的服务托管在名为"SERV1"的Windows服务器中.
只有访问(登录)"SERV1"的用户才能访问该服务吗?或者所有能够登录办公室网络的用户(起诉活动目录凭证)都可以使用该服务?
有没有办法确保只有CIO批准的应用程序才能访问该服务,将服务保持为Windows身份验证?
是否针对每个服务操作呼叫或仅针对第一个呼叫进行此身份验证检查?
有什么方法服务将能够知道用户的Windows凭据?
注意:据我所知,WindowsAuthentication可以与会员提供商进行比较 - 从集中位置提供用户名和密码.它可以与ASP.Net成员资格提供程序或Active Directory成员资格提供程序进行比较.
进一步阅读: