Asp.net membership asp.net mvc自定义成员资格提供程序-一个应用程序的严格登录缓存

Asp.net membership asp.net mvc自定义成员资格提供程序-一个应用程序的严格登录缓存,asp.net-membership,membership-provider,Asp.net Membership,Membership Provider,我为asp.net mvc应用程序创建了自定义成员资格提供程序,除一件事外,一切正常: 当登录到我的应用程序时,我还将登录到使用Visual Studio运行的所有其他asp.net mvc应用程序。我想这些数据是从缓存中提取的,因为当我注销并尝试在其他应用程序中再次登录时,我被拒绝了 在webconfig中,我添加了applicationName以解决此问题,但它不起作用: <membership defaultProvider="SAMembershipProvider" userIs

我为asp.net mvc应用程序创建了自定义成员资格提供程序,除一件事外,一切正常:
当登录到我的应用程序时,我还将登录到使用Visual Studio运行的所有其他asp.net mvc应用程序。我想这些数据是从缓存中提取的,因为当我注销并尝试在其他应用程序中再次登录时,我被拒绝了

在webconfig中,我添加了applicationName以解决此问题,但它不起作用:

<membership defaultProvider="SAMembershipProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear/>
        <add
          name="SAMembershipProvider"
          type="ShinyAnt.Membership.SAMembershipProvider, ShinyAnt"
          connectionStringName ="ShinyAntConnectionString"
          applicationName="MyApp"
          />
      </providers>
    </membership>

    <roleManager defaultProvider="SARoleProvider" enabled="true" cacheRolesInCookie="true">
      <providers>
        <clear/>
        <add
          name="SARoleProvider"
          type="ShinyAnt.Membership.SARoleProvider"
          connectionStringName ="ShinyAntConnectionString"
          applicationName="MyApp"
          />
      </providers>
    </roleManager>


有没有我忘记实现的方法可以解决这个问题,或者是其他问题?

对您来说可能有点晚了,但其他人可能会发现这一点很有用

默认情况下,表单身份验证使用浏览器cookie保存身份验证状态,并且它们的作用域(和限制域)级别(可能在您的情况下?)

这意味着在“localhost”域根(,)下运行的每个应用程序都可以访问相同的身份验证cookie

您可以通过在web.config中为每个应用程序指定不同的cookie名称来解决此问题:

<authentication mode="Forms">
  <forms name="[cookie name]"></forms>
</authentication>


希望这有帮助……

嘿,齐达德,我刚刚看到了你的答案,现在事情变得更清楚了。非常感谢。