2012-02-14 3 views
0

Я боролся с этим весь день. Я пытаюсь добавить проверку подлинности на моем веб-сайте asp.net.Проверка подлинности IIS7 и форм

Я отключил анонимную, Windows, ASP.NET олицетворение и активировал аутентификацию форм.

Я создал страницу Login.aspx и имел страницу Default.aspx. Default.aspx - это документ по умолчанию.

Я добавил в web.config:

<authentication mode="Forms"/> 

Это поведение я испытываю:

1) При тестировании с HTTP: \ локальный \ я получаю ошибку 401.2 на корневом каталоге приложения ,

2) При тестировании с http: \ localhost \ Default.aspx я получаю ошибку 401.2 на Login.aspx, поэтому перенаправление происходит, но Login.aspx дает ошибку.

Так что, похоже, у меня нет доступа ко всем страницам сайта даже Default.aspx & Login.aspx.

Но я Канот найти решение, я даже пробовал:

<location path="Default.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

    <location path="Login.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

Но это, кажется, не изменится ничего.

Я также попытался

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" /> 
</authentication> 

Но это ничего другого не делает ни.

Также, если я вернусь к анонимной или Windows Authentication, тогда будет выполняться перенаправление документов по умолчанию.

Я использую asp.net 3.5 на IIS7 в Vista Business.

Пожалуйста, помогите!

+0

Дайте нам свой блок кода, который вы использовали, чтобы заявить, что аутентификация была «формами». –

+0

Отредактировано для отображения раздела аутентификации. –

+0

Возможно ли, что разрешения файлов Windows в папке/файлах не позволяют подавать файл? Какие разрешения пользователя находятся в этих файлах? –

ответ

2

Отключение проверки подлинности Windows, анонимного пользователя и т. Д. В вашем приложении в IIS изменит параметры идентификации веб-сайта, а не параметры пользовательского членства!

Если вы хотите включить аутентификацию на своем веб-сайте для своих пользователей, вы можете даже отключить аутентификацию анонимного пользователя и Windows, поэтому IIS примет все запросы, поступающие на веб-сервер. Затем вы можете использовать проверку подлинности (реализованную с помощью метода SignIn на странице входа в систему), чтобы предоставить посетителям доступ только к определенным частям веб-сайта, используя членство asp.net. Have a look at this article об аутентификации форм и this one о проблемах с авторизацией на IIS.

+0

Спасибо Джорджо, я включил анонимную аутентификацию, и она работает, за исключением того, что она не попала в страницу входа. Поэтому я добавил: <пути доступа = ""> <разрешение> <отрицают пользователь = "" /?> и вверх приходит на странице входа. Спасибо, что указали разницу между IIS и аутентификацией asp.net. Теперь мне просто нужно разрешить доступ к файлу css для страницы входа. –

0

Разрешить анонимный доступ к папке в IIS и код указанной ниже отчетность в web.config:

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

После добавления этих заявлений, вы будете перенаправлены на страницу входа в систему каждый раз, когда вы попробуйте перейти на страницу с проверкой подлинности без проверки подлинности.

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

-VIKAS SUMAN