2010-04-20 63 views
0

这是我第一个ASP.NET MVC应用程序,也是我第一次使用IIS 7.x安装,因此我必须在标准之上做任何事情。IIS7.5和MVC 2:实现HTTP(S)安全

我需要对/ Index和/feeds/xxx.svc页面/服务实施Windows身份验证。在ASP.NET Web窗体中,我将对这些文件应用Windows权限并删除IIS 6中的匿名身份验证。这需要通过HTTP/S进行工作,但不用担心这一点,这一点在手。

在MVC/IIS 7中会发生什么?

我试着修改/Index.aspx视图的权限,这似乎阻止访问。它要求我输入用户名/密码,但在输入有效的用户名/密码时不会授予访问权限。按退出给我一个例外“**访问路径'E:\ dev \ xxx \ xxx.ConsultantRegistration.Web.Admin \ Views \ ConsultantRegistration \ index.aspx'被拒绝。**”,它会作为401.

因此,虽然Index.aspx视图中存在用户名/密码,但我无法使用这些凭据访问所述视图。

我在我的web.config:

我缺少什么?

回答

0

请勿设置文件权限。取而代之的是在IIS的网站中启用WindowsAuthentication提供程序,并在控制器操作中添加[Authorize]属性。您可以进一步筛选有权访问这些页面的用户,例如:

[RequireHttps, Authorize(Users="MyUser")] 
public ActionResult Index() 
{ 
    return View(); 
} 
+0

非常感谢。这是我的困惑。我已经添加[授权]和我的web.config以下几点:(显然会受到严重格式化,但嘿): <授权> <删除用户= “*” 的角色= “” 动词= “”/> <添加存取类型= “允许” 用户= “内河航运\用户”/> 2010-04-20 10:01:01

+0

不客气!很高兴我能帮上忙 :) – 2010-04-20 10:31:27