2016-08-17 4 views
0

관리자 또는 Sysadmin 역할에있는 경우 사용자에게 사이트 탐색 표시 줄에 글리프 아이콘을 표시하는 데 사용되는 asp.net masterpage에 아래의 인라인 코드가 있습니다. 다른 모든 사용자로부터 글리프 콘을 숨 깁니다.https를 사용하는 경우 ASP.NET 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> 
<% } %> 

이 예상대로 다른에 찾아 볼 때 glyphicon는 웹 사이트의 홈페이지에 관리자 나 시스템 관리자 사용자에 대한 표시 및 숨겨진 것 HTTPS 사이트를 탐색 할 때 그러나, HTTP 사이트를 탐색 할 때 작동합니다 웹 사이트 내의 페이지 사이트의 홈페이지로 돌아 가면 글리 phicon이 다시 나타나지 않습니다. 내 Web.config의에서 cacheRolesInCookie = "false"를에

감사

답변

0

변경 cacheRolesInCookie = "진정한"이 일을 해결했다.

<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>