Аутентификация пользователя Firefox .net не работает - PullRequest
1 голос
/ 17 июня 2011

Я хочу, чтобы объект TaskBar был скрыт, когда кто-то не вошел в систему

Вот мой код:

if (HttpContext.Current.User.Identity.IsAuthenticated == false){TaskBar.Visible = false;}

Это прекрасно работает в IE и Chrome, но по какой-то причинеПанель задач по-прежнему отображается в Firefox, когда никто не вошел в систему. Я попытался очистить кэш Firefox, надеясь, что это так, но это не так.Есть ли более дружественный к кросс-браузерному способ сделать это?

[EDIT] Панель задач - это пользовательский пользовательский элемент управления, который я создал, и не использует JavaScript.Я просто хочу установить его видимость на false.

[EDIT 2] Вот код для панели задач.Его немного отредактировали для анонимности, поэтому постарайтесь помнить об этом.И к нему подключено еще больше пользовательских элементов управления.Я не собираюсь публиковать код для тех, потому что я не тот, кто их запрограммировал.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TaskBar.ascx.cs" Inherits="~.TaskBar" %>

<%@ Register TagPrefix="act" TagName="CallPopup" Src="~/Call.ascx" %>
<%@ Register TagPrefix="act" TagName="EmailPopup" Src="~/Email.ascx" %>
<%@ Register TagPrefix="act" TagName="NotePopup" Src="~/Note.ascx" %>
<%@ Register TagPrefix="act" TagName="SurveyPopup" Src="~/Survey.ascx" %>
<%@ Register TagPrefix="act" TagName="TaskPopup" Src="~/Task.ascx" %>

<style type="text/css">

.navBar
{
    width: 100%;
    height: 45px;
    background-image: url(~/background.jpg);
    background-repeat: repeat-x;
    overflow: hidden;
    text-align: center;
}

.navBar h2
{
    float: left;
    color: White;
    width: 350px;
    text-shadow: 2px 2px 2px #000;
}

.links
{
    float: right;
}

.links a
{
    padding-bottom: 5px;
}

.links img:hover
{
     -moz-opacity:.50; 
     filter:alpha(opacity=50); 
     opacity:.50;
}

</style>

<div class="navBar">
    <h2><asp:Label ID="label" runat="server" Text=""></asp:Label></h2>
    <div class="links">
        <asp:ImageButton runat="server" ID="tasksButton" ImageUrl="~/check.png"  />
        <img src="~/splitter.png" alt="" border="0" />
        <a href="Home" id="homeButton"><img src="~/home.png" alt="" title="Return to the Home Page" border="0" /></a>
        <a href="#" id="callButton"><img src="~/phone.png" alt="" title="Log a Call" border="0" /></a>
        <act:CallPopup ID="pcCall" runat="server" />
        <a href="#" id="emailButton"><img src="~/mail.png" alt="" title="Compose Email" border="0" /></a>
        <act:EmailPopup ID="pcEmail" runat="server" />
        <a href="#" id="noteButton"><img src="~/note.png" alt="" title="Add a Note" border="0" /></a>
        <act:NotePopup ID="pcNote" runat="server" />
        <a href="#" id="newTaskButton"><img src="~/task.png" alt="" title="Add a Task" border="0" /></a>
        <act:TaskPopup ID="pcTask" runat="server" />
    </div>
</div>

[РЕДАКТИРОВАТЬ 3]

Хорошо, так что немного подробнее опроблема, с которой я только что разобрался.Программа настроена таким образом, чтобы пользователи могли установить флажок «Keep Me Logged In», что будет делать программа.Поэтому я думаю, что проблема в том, что Firefox не позволяет пользователю выйти из системы.Я попытался нажать на кнопку «Выйти», и она не работает только в Firefox.Возможно, это поможет продвинуть этот вопрос.

Вот код для выхода из системы:

<asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Login.aspx" />

Мы используем базовую систему AnonymousTemplate и LoggedInTemplate.(Я не совсем уверен, что все остальное необходимо, чтобы описать систему входа в систему, извините ... все еще новичок в этом)

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Проблема в том, что в другом месте страницы возникает ошибка Javascript, из-за которой пользователь не может нажать кнопку выхода из системы, поэтому файлы cookie не очищаются и не происходит обратная передача.Я закрываю этот вопрос, так как он больше не актуален.

0 голосов
/ 30 июня 2011

Использовали ли вы что-то вроде Fiddler или Firebug, чтобы проверить, отправляет ли Firefox cookie-файл для проверки подлинности и корректно ли очищает файл при выходе из системы?

HttpContext.Current.User.Identity.IsAuthenticated == false идеально подходит для проверки подлинности пользователя.

Simon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...