我有一个带有基本身份验证的Intranet站点。
是否可以只有一页不要求提供凭证? 如同允许访问任何人只为一页?
可以在web.config中为单页设置某些内容吗?
答案 0 :(得分:5)
将以下元素添加到web.config的<{1}}节点:
configuration
有关更多信息和用法,请查看MSDN文档:Location Element (ASP.NET Settings Schema)
答案 1 :(得分:1)
我所做的是我不使用ASP.Net身份验证。我所做的是当用户输入他们的用户名和密码时,我检查数据库是否存在具有该用户名和密码的行。
您可以使用objDataSet.Tables[0].Rows.Count > 0
执行此操作。你可以把它放在&#39; if&#39;条件然后取用户名并将其放入会话中。你这样做:
Session["username"] = (Username Variable Here)
。然后,您创建两个母版页,一个是仅供登录人员访问的页面,另一个是任何人都可以访问的页面。在仅允许登录人员访问的母版页中,您可以检查会话数据是否为空。如果为null,则可以将该人员重定向回登录页面。 LoggedIn母版页可以保持原样。如果您已有母版页,则可以复制它,然后添加该条件。如果尚未实现母版页,则可以将条件放在需要用户登录的每个页面的页面加载中以访问该页面。因为您使用的是会话而不是cookie,所以用户很难入侵这个系统。
答案 2 :(得分:0)
您需要覆盖您的web.config文件设置 您需要创建一个文件夹并在该文件夹中再创建一个web.config文件 然后将Page.aspx放在该文件夹中 然后修改下面的web.config文件代码:
<authentication mode="Forms">
</authentication>
注意:
1)您不必提及users = *它会自动允许所有用户访问该文件夹下的那些页面。
或
您可以做的是,如果您已经在使用目录结构页面,那么您可以将该page.aspx保持在您拥有登录页面的同一级别。