asp.net Form验证设置了loginUrl后已登录用户但没权限也会重定向到登录页面

xuejie09242 2011-03-08 12:06:09
Asp.net中,应用了窗体验证,在web.config中设置了loginUrl属性,各文件夹权限通过角色控制,可以实现了匿名用户访问时定向到登录页面,但已经登录的用户也会定位到登录界面,要求输入用户名和密码,不太友好。为此,为页面添加了一个基类,在load的时候如果用户权限不足,则重定向到自定义错误界面,记得当时初步实现了该功能,有一个不足就是如果当前访问的文件夹中没有设置登录角色,而是在父文件夹下设置的,不起作用。但今天都是定位到登录界面了,调试程序发现基类的load事件根本就不执行,不知道是什么原因。

另外,除了在登录界面,判断一下,如果用户已经登录,再重定向到自定义错误页面外,对这方面不知道大家有什么好的做法吗,请指教。
...全文
388 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
huiyuan659 2011-04-21
  • 打赏
  • 举报
回复
其它页面没权限会无条件转向到登录页.

但是你可以在登录页里面进行设置
在login.aspx的page_load里面
 protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.Name!=null || User.Identity.Name.ToString()!=string.Empty)
{ Response.Redirect("error.aspx"); }
}
子夜__ 2011-03-08
  • 打赏
  • 举报
回复
用FORM认证就可以实现控制了。。

传送门

一共四章。
truecoffeefox 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]

用FORM认证就可以实现控制了。。

传送门

一共四章。
[/Quote]

已登录无权限的跳转页面与未登录的不同,form验证可以做到吗
答案貌似是不能
xuejie09242 2011-03-08
  • 打赏
  • 举报
回复
但当设置了权限后,无权访问的用户页面的代码根本就没执行,应该是asp.net的权限控制先于页面的执行。我的原意是如果用户已经登录,显示权限不足的提示页面,而不是还出现一个登录框,但在asp.net中两种情况只能指向一个页面。
jeven_xiao 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]
用FORM认证就可以实现控制了。。

传送门

一共四章。
[/Quote]
+1
xuejie09242 2011-03-08
  • 打赏
  • 举报
回复
可能吧,不知道以前是怎么试的,要求权限的页面直接可以浏览的,大概是Asp.het的权限没起作用。
结帖了,分平分了!

62,244

社区成员

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

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

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

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