C # ASP.Net Аутентификация при входе в систему / регистрации - PullRequest
1 голос
/ 02 ноября 2011

Я изо всех сил пытаюсь заставить мою систему входа / регистрации работать. У меня есть страница register.aspx, на которой пользователь регистрируется, и все эти данные заносятся в базу данных, затем у меня есть Login.aspx, где пользователь должен ввести свое имя пользователя и пароль.

Но я даже не могу дойти до этой стадии, поскольку похоже, что аутентификация продолжает портиться.

<authentication mode="Forms">
  <forms name="401kApp" loginUrl="/login.aspx"
         defaultUrl="Home.aspx"
         />
</authentication>

Я хочу, чтобы моя аутентификация понимала, что никто не вошел в систему (потому что они не должны быть, если они не войдут в систему на странице входа в систему). Но по какой-то причине он, кажется, продолжает перенаправлять меня, и я часто получаю HTTP 404: ресурс не найден.

Перенаправляет на:

http://localhost:52761/login.aspx?ReturnUrl=%2f

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

Это мой логин:

<asp:LoginStatus id="LoginStatus1" runat="server"></asp:LoginStatus>
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
Please log in.
</AnonymousTemplate>
<LoggedInTemplate>
Thanks for logging in 
</LoggedInTemplate>
</asp:LoginView>              

Кто-нибудь может мне помочь?

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 02 ноября 2011

Вам необходимо добавить раздел «location» в ваш web.config, который позволит анонимно получать доступ к «register.aspx». в противном случае, когда пользователь попытается получить к нему доступ, он будет перенаправлен на страницу входа для проверки подлинности:

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

больше информации: Элемент location (Схема настроек ASP.NET)

0 голосов
/ 02 ноября 2011

Есть ли у вас страница Login.aspx в корне вашего приложения?

Если вы проверите свой web.config, вы должны увидеть раздел, относящийся к провайдеру членства (которым вы, похоже, пользуетесь), где вы можете указать страницу входа, если она называется чем-то отличным от login.aspx

...