Bri*_*ian 6 windows-authentication iis-7.5 asp.net-mvc-3
我们在MVC3和实体框架中有一个简单的Intranet站点.从visual studio调试运行一切正常.当我将网站发布到我的本地框IIS7.5网络服务器或同一域上的开发框时,我会收到提示输入用户名和密码,它将无法连接到该网站.它只返回401.1错误,并好奇地显示
Logon Method Not yet determined
Logon User Not yet determined
Run Code Online (Sandbox Code Playgroud)
我已经验证启用了Windows身份验证并禁用了匿名身份验证.该应用程序正在使用applicationPoolIdentity但我已经尝试使用网络服务没有区别.webconfig包括
<authentication mode="Windows" />
Run Code Online (Sandbox Code Playgroud)
并且我在有和没有授权部分的情况下尝试过它.
<authorization>
<allow users="*" />
</authorization>
Run Code Online (Sandbox Code Playgroud)
我在网上找到的唯一另一件事涉及更改注册表项,但这最终将在生产服务器上,所以我不习惯为此进行注册表更改.
使用此代码块在本地运行会返回所有预期信息
<div id="title">
<h4> Environment.UserName: @Environment.UserName
@DateTime.Now.Millisecond.ToString() </h4>
@foreach (var role in Roles.GetRolesForUser())
{
role.ToString(); <br />
}
</div>
<div id="logindisplay">
Context.User.Identity.Name <strong>@Context.User.Identity.Name</strong>!<br />
@Environment.UserDomainName
</div>
Run Code Online (Sandbox Code Playgroud)
它是一个MVC3 Web应用程序.IIS身份验证开关是
Anonymous Authentication Disabled
ASP.NET Impersonation Disabled
Forms Authentication Disabled
Windows Authentication Enabled
Run Code Online (Sandbox Code Playgroud)
我缺少的任何其他想法或事物?
MSDN 上的这篇文章说明了如何设置 IIS 7 MVC3 Intranet 网站: http://msdn.microsoft.com/en-us/library/gg703322 (VS.98).aspx
与您相关的有趣的部分很可能是关于模仿的最后一节。如果您以 Windows 身份验证运行站点,但关闭了模拟,您将使用经过身份验证的身份读取/执行网站的文件。这意味着每个想要访问该站点的用户都需要文件夹/文件权限。
为了避免这种情况,请使用 Windows 身份验证允许用户进行身份验证,但使用模拟来使用单一身份来访问文件夹/文件。
| 归档时间: |
|
| 查看次数: |
8948 次 |
| 最近记录: |