使用https时不显示ASP.NET glyphicon超链接

时间:2016-08-17 10:27:32

标签: asp.net .net https iis-8 glyphicons

我的asp.net主页上有以下内联代码,用于在网站导航栏中向用户显示一个glyphicon(如果他们是Admin或SysAdmin角色),并隐藏所有其他用户的glyphicon。

<% if (Page.User.IsInRole("Admin") || Page.User.IsInRole("SysAdmin"))
   { %>
   <li id="liAdmin">
     <a runat="server" href="~/Admin/Admin.aspx">
        <span class="fa fa-wrench"> </span>
     </a>
   </li>
<% } %>

这在浏览到http网站时按预期工作,但是当浏览到https网站时,只有网站主页上的管理员或SysAdmin用户才会显示glyphicon,并且在浏览网站的任何其他页面时都会隐藏。如果您返回网站的主页,则不会重新显示glyphicon。

由于

1 个答案:

答案 0 :(得分:0)

更改cacheRolesInCookie =&#34; true&#34; to cacheRolesInCookie =&#34; false&#34;在我的web.config中解决了这个。

<roleManager defaultProvider="sqlProvider" enabled="true" cacheRolesInCookie="false" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="true" cookieSlidingExpiration="true" cookieProtection="All">
   <providers>
      <add name="sqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="users_db" applicationName="ReportingSystem" />
   </providers>
</roleManager>