при входе в систему отобразить другую страницу - PullRequest
0 голосов
/ 12 августа 2011

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

<asp:LoginView ID="LoginView" runat="server">
    <AnonymousTemplate>
    Please login <br />        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:qcvalues_testConnectionString %>" 
            SelectCommand="SELECT * FROM [batchinfo]"></asp:SqlDataSource>
    <asp:Login ID="LoginControl" runat="server" />


    </AnonymousTemplate>
    <LoggedInTemplate>    you are logged in </LoggedInTemplate> ................

если я сделаю Response.Redirect() на другой странице, скажем default2.aspx - как я могу убедиться, что у пользователя нет доступа к default2.aspx, если он не вошел в систему?

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

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

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

protected void Login1_LoggedIn(object sender, EventArgs e)
{
    Response.Redirect("Page.aspx");
}

Редактировать: Ссылаясь на ваш комментарий, если вы добавите приведенный ниже код в раздел <configuration> файла web.config, он убедится, что пользователь unauthenticated не будет иметь доступа к ваша страница.

<location path="FolderNameIfAny/Page.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>               
        </authorization>
    </system.web>
</location>

Если вы хотите защитить свою папку от пользователей unauthenticated, сделайте это, как ..

 <configuration>
 ......................
 ......................
 <location path="FolderName1">
    <system.web>
        <authorization>
            <deny users="?"/>
                  <allow roles="role1"/>            
        </authorization>
    </system.web>
</location>

 <location path="FolderName2">
    <system.web>
        <authorization>
            <deny users="?"/>
                  <allow roles="role2,role3IfAny"/>         
        </authorization>
    </system.web>
</location>
   </configuration>

Вы можете разрешить определенным ролям доступ к определенной папке.

1 голос
/ 12 августа 2011

убедитесь, что у вас есть раздел авторизации в вашем web.config с <deny users="?"/>, который предотвращает доступ к вашему сайту неаутентифицированным пользователям.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...