在 C# 中使用凭据进行访问控制
我有一个 SOAP -> Web服务结构,使用C#。我打开了 IIS - windows 身份验证,因此我将 DefaultNetworkCredentials 添加到我的服务实例中的 ClientCredentials 中。我可以使用这些凭据访问 Web 服务。这不是问题。
我想限制对 Web 服务中包含的某些信息的访问,具体取决于尝试访问此服务的用户。我不知道如何通过将凭据作为参数传递或通过任何其他方式从凭据中获取任何用户信息。任何建议都会有帮助。
非常感谢!
I have a SOAP -> web service structure, using C#. I have IIS - windows authentication turned on so I am adding the DefaultNetworkCredentials to the ClientCredentials in my service instance. I am able to access the web service using these credentials. This is not the problem.
I would like to restrict access to certain information contained within the web service, depending on the user that is trying to access this service. I do not know how I can gain any user information from the Credentials by passing the Credentials as a parameter, or by any other means. Any suggestions would be helpful.
Thanks so much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以肯定的是,Windows 身份验证将确定他们是否可以访问 IIS 中的实际 .asmx 文件。
您还可以在 Web 服务代码中使用 HttpContext.Current.User 来确定当前登录的用户名(然后验证从那里执行操作的权限)。
Pretty sure the Windows authentication will determine if they can access the actual .asmx file in IIS.
You can use HttpContext.Current.User within your web service code to determine the currently logged on user's name as well (and then validate permission to perform action from there).