Если вы имеете в виду, что вы хотите отображать разные пользовательские URL-адреса для каждого пользователя и просто хотите кэшировать этот URL-адрес, то есть несколько вещей, которые следует учитывать:
Если вы используете значение сеанса или файл cookie, вам нужен код для возможности отсутствия значения. Сеанс сеанса на сервере или в браузере может истечь, и пользователь все еще может войти в систему.
Если вы используете файл cookie, вы можете установить срок действия файла cookie таким же, как и срок действия файла cookie для аутентификации, но это все еще не гарантирует доступность.
Значение cookie не будет безопасным , его можно изменить. Значение сеанса будет защищено.
Если вы используете аутентификацию пользовательских форм, вы можете сохранить URL-адрес в самом файле cookie аутентификации, а затем загрузить его в собственный IPrincipal. Я бы посоветовал против этого, поскольку я не чувствую, что это правильное место.
Если вы просто пытаетесь кэшировать URL-адрес, то, пока ваш код повторно выбирает данные, когда значение отсутствует, тогда значение сеанса или файл cookie будут хорошими в зависимости от требуемого уровня безопасности.
Если я прочитал это неправильно, и вы просто хотите показать / скрыть ссылку в зависимости от того, авторизован пользователь или нет, вы можете просто использовать
<% if (User.Identity.IsAuthenticated) { %>
<a href="/MyPage">view my page</a>
<% } %>
И ваше действие MyPage в вашем контроллере отображает выделенную страницу для пользователя.