2009-09-24 3 views
1

У меня есть приложение asp.net mvc, управляемое данными. Url страниц также управляется данными, поэтому они не могут быть жестко закодированы в web.config. Мы готовы развернуть веб-сайт, и в течение первых нескольких дней мы хотим, чтобы страницы были доступны только после входа в систему.Авторизация сайта ASP.NET MVC

Можно ли добавить авторизацию на сайт, а затем вывести его, только изменив web.config ? Я добавил это:

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" timeout="20"> 
    <credentials passwordFormat="Clear"> 
     <user name="admin" password="adminpwd" /> 
    </credentials> 
    </forms> 
</authentication> 
<authorization> 
    <deny users="?" /> 
</authorization> 

Однако, это не работает.

Я также пробовал тег местоположения, но не знаю, какой путь указать в этом.

<location> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
    </system.web> 
    </location> 

Обратите внимание: ошибка страницы по умолчанию должна работать без разрешения

<customErrors mode="Off" defaultRedirect="/error"> 
</customErrors> 

Можете ли вы помочь?

Спасибо!

ответ

1

Вы пробовали:

<authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
</authorization> 

Оценивается сверху вниз, так что первые отрицают все анонимные пользователи, а затем позволить всем другим пользователям (т.е. все прошедшие проверку подлинности пользователей)

+0

Я пробовал, чтобы это не сработало. Чтобы устранить возможность какой-то странности в моем приложении, я попробовал новое приложение Asp.net MVC, и это тоже не сработало. – Puneet

+0

Что изменится, если я откажусь и позволю? –

1

Возможно [Авторизоваться] атрибут о действиях контроллеров? Может быть, this поможет.

0

Это временное ограничение во время тестирования на производственном сервере? Если да, вы можете попробовать обычный HTTP Authentication.

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