现在,当用户登录时,他们会在同一页面上看到特定内容:
<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
?
但是我希望用户在登录时被定向到不同的页面。
答案 0 :(得分:2)
LoggedIn
事件被触发。例如
protected void Login1_LoggedIn(object sender, EventArgs e)
{
Response.Redirect("Page.aspx");
}
修改:参考您的评论,如果您在web.config的<configuration>
部分下添加以下代码,则会确保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 :(得分:1)
确保您的web.config中有<deny users="?"/>
的授权部分,以防止未经身份验证的用户访问您的网站。
表单身份验证确实可以重定向到其他页面,但我不确定如何使用登录控件执行此操作。