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

时间:2014-04-07 20:44:12

标签: 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并将身份验证选项更改为“Organizational Accounts”,将类型指定为“On-Premises”,并提供我的metdata url和app URI,然后单击“确定”。 / p>

单击“确定”以创建项目。 VS旋转一点,然后我看到我的解决方案。在web.config中,我找到以下appsettings:

 <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控制器并通过在控制器类上放置“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

它的表现似乎没有关于如何验证其资源的概念。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

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

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