Это простой xslt, который показывает статус входа текущего пользователя. На сервере разработки все работало нормально, но после настройки приложения на производстве umbraco.librarty.IsLoggedOn () всегда начинал возвращать значение false.
Приложение использует метод umbraco.libraty.IsLoggedOn () из кода .NET и оттуда возвращает правильное значение, а из xslt - нет.
<xsl:choose>
<xsl:when test="umbraco.library:IsLoggedOn() = true()">
You are logged in as
<q>
<xsl:variable name="user" select="umbraco.library:GetCurrentMember()/@loginName"/>
<xsl:value-of select="$user"/>
</q>. This is <a href="/profile">your profile</a>.
</xsl:when>
<xsl:otherwise>
You are not logged in.
<a href="/registruj-se">Log in</a>.
</xsl:otherwise>
</xsl:choose>
Для разработчиков, не входящих в Umbraco: функция library.IsLoggedOn () проверяет HttpContext.Current.User и HttpContext.Current.User.Identity.IsAuthenticated, чтобы определить, вошли вы в систему или нет.
Может быть, это проблема с файлами cookie и XSLT? У кого-нибудь есть подсказка?
Tnx