2013-10-02 7 views
0

Я создал приложение веб-форм ASP.NET для клиента и использовал проверку подлинности форм для обеспечения безопасности. Когда я запускаю его локально (на трех разных ПК, плюс один из моих персональных компьютеров), мы можем войти в систему без проблем. Но когда мы развернули его на сервере клиента, лог-редирект завершился с ошибкой.ASP.NET 4.5 Перенаправление аутентификации не работает при развертывании в IIS

Мы видим, что аутентификация работает, поскольку основная страница обновляет и показывает параметры, доступные только для аутентифицированных пользователей, но форма всегда перенаправляется на страницу входа.

Вот часть web.config:

<authentication mode="Forms"> 
     <forms loginUrl="default.aspx" name=".ASPXFORMSAUTH" defaultUrl="home.aspx" slidingExpiration="true" timeout="60"> 
     </forms> 
    </authentication> 
    <authorization> 
     <deny users="*" /> 
     <allow users="*" /> 
    </authorization> 

код с главной страницы, которая работает:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Request.IsAuthenticated) 
    { 
     hylHome.Visible = false; 
     hylSearch.Visible = false; 
     lbtnLogout.Visible = false; 
    } 
    else 

И, на всякий случай, линия, которая обрабатывает создает аутентификации:

FormsAuthentication.RedirectFromLoginPage (txtusername.Text, false);

Я предполагаю, что на сервере IIS есть настройка, которая останавливает перенаправление, но я не знаю серверов. Любая помощь будет оценена по достоинству. Благодарю.

+0

Что именно происходит при входе в систему? – Egor4eg

+2

Хотя он не может ответить на этот вопрос, я уверен, что вы хотите ' ' –

+1

Вы пытались разместить DestinationPageUrl =" yourpage.aspx "в своем элементе управления? – Humpy

ответ

0

Два обновления исправили проблему. Как Даррен Копп указал, web.config должен быть обновлен до:

<deny users="?" />

После этого, я также отсутствует response.redirect="default.aspx" в конце метода аутентификации, вдохновленный комментарий Хампи в.

Смежные вопросы