如何让用户只登录一次?

时间:2012-07-30 20:26:17

标签: c# asp.net-membership

我们使用ASP会员数据库来管理我们的网站安全性,并且每个网站对应一个会员角色。我创建了一个门户网站,列出了这些项目网站的所有超链接(任何角色中的所有用户都可以登录到这个门户网站),在webconfig文件中,我列出了每个项目网站的所有角色:

<authorization>      
      <allow roles="Administrators,ProjectId1_Member,ProjectId10_Member,ProjectId11_Member,ProjectId12_Member,ProjectId13_Member,ProjectId14_Member,ProjectId15_Member,ProjectId16_Member,ProjectId17_Member,ProjectId18_Member,ProjectId19_Member,ProjectId2_Member,ProjectId21_Member,ProjectId22_Member,ProjectId23_Member,ProjectId24_Member,ProjectId25_Member, "/>
      <deny users="*"/>
 </authorization>

但它适用于用户登录Portal站点。但是,如果用户单击超链接以导航到特定项目网站,则用户将再次导航到登录页面。有没有办法可以避免这种双重登录?

谢谢,

1 个答案:

答案 0 :(得分:0)

确保路径为/并启用跨路径重定向

 <authentication mode="Windows">
 <forms 
    name=".ASPXAUTH" 
    loginUrl="login.aspx" 
    defaultUrl="default.aspx" 
    protection="All" 
    timeout="30" 
    path="/" 
    requireSSL="false" 
    slidingExpiration="true" 
    cookieless="UseDeviceProfile" 
    domain="companySite" 
    enableCrossAppRedirects="true">
    <credentials passwordFormat="SHA1" />
 </forms>
 <passport redirectUrl="internal" />
 </authentication>