Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net web api项目中实现IIS身份验证?_C#_Asp.net Mvc_Authentication_Asp.net Web Api_Authorization - Fatal编程技术网

C# 如何在asp.net web api项目中实现IIS身份验证?

C# 如何在asp.net web api项目中实现IIS身份验证?,c#,asp.net-mvc,authentication,asp.net-web-api,authorization,C#,Asp.net Mvc,Authentication,Asp.net Web Api,Authorization,我的任务是为我们项目的api启用身份验证和授权。主要目标是保护方法不被滥用,但是我们还需要使另一家公司的开发人员能够在其代码中调用这些方法 由于不熟悉身份验证和授权,我被.NET等的许多不同选项弄得不知所措。有些技术看起来很有前途,直到您看到它们以纯文本形式传递凭据(基本身份验证?)或有其他问题等等。。。我只是在寻找一种可靠和安全的方法 我正在使用IIS托管web api,我已经看到这样一个选项是在“主机级别”进行身份验证。我的主管提到这是首选方法 我看过很多关于IIS身份验证的帖子和视频。据我

我的任务是为我们项目的api启用身份验证和授权。主要目标是保护方法不被滥用,但是我们还需要使另一家公司的开发人员能够在其代码中调用这些方法


由于不熟悉身份验证和授权,我被.NET等的许多不同选项弄得不知所措。有些技术看起来很有前途,直到您看到它们以纯文本形式传递凭据(基本身份验证?)或有其他问题等等。。。我只是在寻找一种可靠和安全的方法

我正在使用IIS托管web api,我已经看到这样一个选项是在“主机级别”进行身份验证。我的主管提到这是首选方法

我看过很多关于IIS身份验证的帖子和视频。据我所知,这样的解决方案会提醒用户某个操作需要身份验证并输入他们的凭据

我的问题如下:


  • 如果其他开发人员不是我们域的成员,他们如何使用(windows?)凭据进行身份验证。是否有windows身份验证的替代方案
  • 要求对某些api操作进行授权将如何影响站点的正常功能?即,对于每个请求,我是否必须在代码中向api传递有效凭据

总的来说,我只是有点不确定这一切是如何运作的,我非常感谢您提供的任何建议。

他们正在编写的应用程序需要访问API吗?它是什么样的应用程序?我在这里感受到了您的痛苦,但这个问题有点太宽泛了。我建议您通过要求授权来保护您的资源(API)。这可能会有所帮助too@spender基本上,他们正在处理用户注册页面,界面的一些组件将通过调用我们的API进行填充。如果您使用SSL(即使用HTTPS)加密连接,“以纯文本形式传递凭据”不一定是一个可怕的问题“如果其他开发人员不是我们域的成员,他们如何使用(windows?)凭据进行身份验证。“…您可以使用ADFS在您的域和他们的域之间创建信任,并以这种方式创建SSO环境。或者您可以使用基于OAuth或其他东西的完全独立的标识系统。软件(如IdentityServer和ADFS的现代版本)可以生成OAuth令牌。有多种可能性。