我有一个使用自定义(表单)身份验证和授权的Web应用程序。用户登录后,使用提供的用户名设置GenericPrincipal。使用IIS Express在Visual Studio 2012 IDE上进行授权工作正常。但是,我在发布的Web服务器上看起来无法解释的用户获得了授权失败。我做了一个
Response.Write(HttpContext.Current.User.Name)
并发布到网络服务器,我看到我的Windows ID被返回,而不是我登录到网站上的自定义用户名。
我的配置设置不是问题,这里有一个示例
<system.web>
<authentication mode="Forms" >
<forms loginUrl="Login.aspx" timeout="30" defaultUrl="Default.aspx" cookieless="AutoDetect" ></forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
任何人都可以帮我解决这个问题
答案 0 :(得分:0)
我发现此问题是由Web服务器上的IIS配置引起的。
在我的网站的IIS身份验证设置中,我必须禁用所有身份验证模式(在我的情况下为 Windows身份验证)除之外的匿名和表单身份验证。
我需要匿名身份验证才能让用户登陆登录页面(否则IIS会抛出401授权错误)