c# - 如何使用 Azure ACS 保护新的 MVC5 应用程序

标签 c# asp.net azure

我正在尝试使用 Azure ACS 配置新的 MVC5 应用程序,但我在将项目连接到联合端点方面运气不佳。

我首先创建一个 ACS(命名空间、idp 和 RP)。我的 RP 的 URI 是:http://localhost/ACSDemo。 联合元数据端点 url 是 https://hmhacsdemo.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml

在 VS (2013) 中,我创建一个新的 Web 应用程序,选择 MVC 并将身份验证选项更改为“组织帐户”,将类型指定为“本地”,然后提供我的元数据 url 和应用程序 URI,然后单击“确定”。

单击“确定”创建项目。 VS 旋转了一下,然后我看到了我的解决方案。在 web.config 中我找到以下应用程序设置:

 <add key="ida:AdfsMetadataEndpoint" value="https://hmhacsdemo.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml" />
 <add key="ida:Audience" value="http://localhost/ACSDemo" />

但在我的 web.config 中没有其他配置部分引用身份。

接下来,我转到 Home Controller 并通过在 Controller 类上放置“Authorize”属性来保护端点

 [Authorize]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";

            return View();
        }
    }

但是,当我尝试浏览网站(在 VS 中按 f5)时,出现以下错误:

HTTP Error 401.0 - Unauthorized
You do not have permission to view this directory or page.

Most likely causes:
The authenticated user does not have access to a resource needed to process the request.

Things you can try:
Check the failed request tracing logs for additional information about this error. For more information, click here.

Detailed Error Information:
Module     ManagedPipelineHandler
Notification       ExecuteRequestHandler
Handler    System.Web.Mvc.MvcHandler
Error Code     0x00000000

它的表现就好像它不知道应该如何验证其资源一样。

我在这里缺少什么?

最佳答案

显然,除非您以管理员身份运行 VS,否则向导会在没有说明任何问题的情况下终止。

我重复了上述步骤,这次以管理员身份启动 VS2013,授权向导将必要的配置添加到我的项目中。

关于c# - 如何使用 Azure ACS 保护新的 MVC5 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22922723/

相关文章:

c# - MVVM:处理非常大的 View 模型

c# - 使用 SQL Server 数据库文件

C# HttpClient.SendAsync 等待抛出 NullReferenceException

c# - WebMethod 在参数中接收 null

c# - 从 C# 处理 SSAS 表格模型

c# - 如何使用 LINQ 和 EntityFramework 实现连接

c# - Server.Transfer 后 IE 和 Firefox 的不同回发行为

Azure 搜索 FindFailedActionsToRetry 返回空操作?

azure - 无法让 Microsoft Translator API 字典查找工作

Azure Spell 未检测到拼写错误