2013-04-07 7 views
0

У меня есть папка администратора и папка пользователя. и Login.aspx внутри папки пользователя и на странице Login.aspx внутри папки администратора.loginUrl в web.config

У меня есть web.config в папке администратора и папке пользователя, пожалуйста, помогите мне в loginUrl в web.config.

я использую этот код:

web.config (папка администратора):

<authentication mode="Forms"> 
    <forms loginUrl="~/Admin/Login.aspx" timeout="2880"/> 
</authentication> 

web.config (папка пользователя):

<authentication mode="Forms"> 
    <forms loginUrl="~/User/Login.aspx" timeout="2880"/> 
</authentication> 

но не работает и ошибки отображения ,

+0

«аутентификация» может быть указана только в корневой конфигурации веб-приложения, если вы хотите внедрить аутентификацию на уровне папок, вам необходимо сопоставить эти папки как отдельные виртуальные каталоги, но тогда вы не сможете использовать Login of admin для папки пользователя и наоборот. –

+0

, пожалуйста, помогите мне в использовании множественного входа в несколько папок с помощью Web.config. –

+0

дубликат http://stackoverflow.com/questions/748287/how-to-override-change-formsauthentication-loginurl-in-certain-cases –

ответ

2

Раздел <authentication> может быть определен только в корневом web.config и не может быть переопределен в дочерних папках. Если вы хотите иметь разные страницы входа для разных частей сайта, вам придется реализовать их в своем коде. Например, вы можете подписаться на событие Authenticate и на основании запрошенного URL-адреса решить, на какую страницу входа вы хотите перенаправить, если пользователь не аутентифицирован.

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