我有以下设置:
IIS 7。 我已将Web配置文件中的身份验证类型从窗体更改为Windows,如下所示: -
但是当我尝试访问ASP.NET MVC站点时出现以下错误: -
2>'/'应用程序中的服务器错误。访问被拒绝。 描述:访问提供此请求所需的资源时发生错误。可能未配置服务器以访问请求的URL。
错误消息401.2。:未授权:由于服务器配置,登录失败。验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面。请与Web服务器的管理员联系以获取其他帮助。
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.17929
可能是什么问题?
答案 0 :(得分:6)
请更改Web.config文件
这
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
要
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
2位用户的Web.config
<system.web>
<authorization>
<allow users="DOMAIN_NAME\my_name,DOMAIN_NAME\USER_NAME" />
<deny users="*" />
</authorization>
</system.web>
答案 1 :(得分:3)
我通过安装server 2012的Windows身份验证功能来修复此问题。 跳转到控制面板/程序/添加窗口功能。转到功能部分,展开Web服务器(IIS)/ Web服务器/安全性并安装“Windows身份验证” 回收您的应用程序池或iisreset以使其生效
答案 2 :(得分:1)
如果您使用的是Visual Studio 2012,还可以在解决方案资源管理器中左键单击该项目,并将 Windows身份验证属性更改为已启用在“属性”窗口中。
答案 3 :(得分:0)
我在Web配置中具有以下配置。
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
,如果登录失败,我将重定向到一页。但是在重定向页面上单击任何按钮时,我都会收到此错误。
我尝试了@jaydeep的上述答案,它对我有用。 https://stackoverflow.com/a/39092914/6665971
现在,对于所有其他页面,它将不被授权;对于特定页面,我可以使用server.transfer
函数进行重定向。