加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 5:使用站点模板无限重定向到登录页

发布时间:2020-12-15 23:57:53 所属栏目:asp.Net 来源:网络整理
导读:我刚刚开始使用ASP.NET MVC 5(我已经使用了以前的版本)并且我有一个非常奇怪的问题:我使用Visual Studio 2013(完全更新的)ASP.NET模板创建了一个新网站.对于模板选项,我选择了MVC模板,“个人用户帐户”身份验证类型,没有云托管,除了核心MVC库之外没有其他组
我刚刚开始使用ASP.NET MVC 5(我已经使用了以前的版本)并且我有一个非常奇怪的问题:我使用Visual Studio 2013(完全更新的)ASP.NET模板创建了一个新网站.对于模板选项,我选择了MVC模板,“个人用户帐户”身份验证类型,没有云托管,除了核心MVC库之外没有其他组件.验证选项后,我更新了所有NuGet包.之后我按F5(不打开或修改任何新项目文件).

由于无限重定向循环,浏览器仅打开以显示错误页面:URL显示:

http://localhost:24585/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FAccount%252525<snip>

同样,这是使用未经修改的库存MVC模板.我确实检查了登录URL是否在cookie auth选项中定义,看起来很好:

// Configure the sign in cookie
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,LoginPath = new PathString("/Account/Login"),Provider = new CookieAuthenticationProvider
    {
        // Enables the application to validate the security stamp when the user logs in.
        // This is a security feature which is used when you change a password or add an external login to your account.  
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager,ApplicationUser>(
            validateInterval: TimeSpan.FromMinutes(30),regenerateIdentity: (manager,user) => user.GenerateUserIdentityAsync(manager))
    }
});

唯一可能破坏默认网站的是全局web.config / machine.config文件中的内容,尽管我通常会避免在我的开发框中弄乱它们.在不更新NuGet包的情况下启动模板并不能解决问题. ASP.NET Identity lib可能有问题,但我真的不知道它,我找不到与我的问题相关的任何相关信息.

问题:有谁知道问题是什么,或者至少解决这个问题的最佳方法是什么?

谢谢

解决方法

好吧,经过一夜安眠后,我最终发现了什么问题:问题出在IIS Express配置中,当我创建一个新项目时,由于某种原因没有重置,并且可能继承了之前项目的设置.它已禁用匿名身份验证并启用了Windows身份验证,这与模板创建的默认web.config不兼容,因为它将身份验证模式设置为无.所以IIS在服务任何资源之前都期望进行Windows身份验证,并且网站没有要求提供Windows凭据.而且我们有一个无限循环.

TL; DR如果遇到相同问题,请检查项目属性(在解决方案资源管理器中选择项目,然后按F4).匿名身份验证条目应设置为“已启用”,Windows身份验证条目应设置为“已禁用”.请注意,仅当您未在模板设置中选择Windows身份验证时,此选项才有效!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读