Forms验证,跳转失败

mathieuxiao 2009-09-06 09:39:23
当我把<deny users="*"/>设置成*时,访问其他页面都会到Login.aspx去验证,但是即使验证成功,也无法回到要访问的页面,一直在Login.aspx页面。如果设置<deny users="?"/>,则不会到Login.aspx去验证,直接就可以访问其他页面。
注:我没有装iis,另外进入机器时需要输入用户名和密码

<authentication mode="Forms">
<forms name="XX" loginUrl="Login.aspx" path="/" defaultUrl="Page1.aspx" protection="All"/>
</authentication>
<authorization>
<deny users="*"/>
</authorization>
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdjlc 2009-09-06
  • 打赏
  • 举报
回复
给我的参考下:



根目录Web.config:

<authentication mode="Forms">
<forms name=".FormsAuth" loginUrl="manage/Login.aspx" protection="All" path="/" defaultUrl="manage/" />
</authentication>
<authorization>
<allow users="*"/>
</authorization>



后台管理目录manage下的Web.config,允许角色Administator,所有用户可以访问css,images


<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<!--身份认证设置-->
<authorization>
<allow roles="Administator"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="css">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
wjxluck 2009-09-06
  • 打赏
  • 举报
回复
<location path="PlanManage">
<system.web>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>

子目录也加上验证
Adechen 2009-09-06
  • 打赏
  • 举报
回复
你改成这样
<authentication mode="Forms">
<forms name="XX" loginUrl="Login.aspx" path="/" defaultUrl="Page1.aspx" protection="All"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
jerry_zuo 2009-09-06
  • 打赏
  • 举报
回复
新建一WEB.CONFIG 放在你想 验证的目录下。
如下:


<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>



网站HTML web.config
设置



<authentication mode="Forms">
<forms loginUrl="~/admin/login.aspx"/>
</authentication>



代码
 FormsAuthentication.SetAuthCookie("temp", true);
mathieuxiao 2009-09-06
  • 打赏
  • 举报
回复
再顶一下
mathieuxiao 2009-09-06
  • 打赏
  • 举报
回复
顶一下
mathieuxiao 2009-09-06
  • 打赏
  • 举报
回复
这个我也知道,可是设置成了deny users="?"之后,就不会去Login.aspx页面进行验证了,头痛
chen_ya_ping 2009-09-06
  • 打赏
  • 举报
回复
其实应该是deny users="?" *代表的是所有的用户,而?代表的是匿名用户 你设置了*,那么就是阻止了搜有的用户,包括登录的和匿名的。还要更多的信息,你可以去cnblogs上搜forms验证

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧