1

我在表单身份验证、AuthorizeAttribute 和 302 重定向循环方面遇到了疯狂的问题。我需要找出发生了什么。无论如何我可以调试表单身份验证和 AuthorizeAttribute 吗?

只是一些更多的细节,以防它很重要:

  1. 我正在使用自定义成员提供程序和角色提供程序。我已经实现了正确的方法,并从我的自定义数据库表中读取用户/角色。

  2. 我有以下内容web.config指向我的自定义提供程序:

    <membership defaultProvider="MyMembershipProvider">
        <providers>
            <clear />
            <add name="MyMembershipProvider" type="Domain.Entities.Security.MyMembershipProvider" connectionStringName="MyDB" MinRequiredPasswordLength="8" MaxInvalidPasswordAttempts="5" MinRequiredNonAlphanumericCharacters="0" applicationName="My App Name" />
        </providers>
    </membership>
    <profile enabled="false">
        <providers>
            <clear />
        </providers>
    </profile>
    <roleManager enabled="true" defaultProvider="MyRoleProvider" cookieTimeout="2800" cookieSlidingExpiration="true" cacheRolesInCookie="true">
        <providers>
            <clear />
            <add name="MyRoleProvider" type="Domain.Entities.Security.MyRoleProvider" connectionStringName="MyDB" applicationName="/" />
        </providers>
    </roleManager>
    
  3. 我的一些控制器/动作是“开放的”。其中一些有'Authorize[Roles="admin"]' 和类似的。

  4. 有时我可以在应用程序上工作几个小时而没有任何事情发生。有时我在登录后不久就遇到了 302 重定向循环,然后我尝试进入其他页面之一。一旦发生这种情况,有时我什至无法进入顶级路径而不进入 302 重定向循环。

任何方向,任何指针,任何建议都将不胜感激。

4

1 回答 1

-1

请在链接的问题中查看答案。这是重定向循环问题的解决方案。 IIS 会话超时和表单身份验证循环

于 2013-11-11T09:51:49.170 回答