我正在尝试使用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
它的表现似乎没有关于如何验证其资源的概念。
我在这里缺少什么?
答案 0 :(得分:0)
显然,除非您以管理员身份运行VS,否则向导会在没有说明任何问题的情况下死亡。
我重复了上述步骤,这次以管理员身份启动VS2013,授权向导将必要的配置添加到我的项目中。