访问页面,没有权限就返回的问题

chenyuling 2007-02-14 02:03:17
情况一:现在在A页面中点击B页面的链接,但是如果该用户没有权限的话会跳转到C页面。然后C页面会显示比如“您没有反问权限,两秒钟后自动返回”。这样就应该是返回到A页面了。

情况二:但是有时候用户是直接在地址栏里面输入B页面的地址的,如果没有权限它还是会跳转到C页面。然后C页面会显示比如“您没有反问权限,两秒钟后自动返回”。这个时候是不存在A页面的。一般情况是返回网站的首页。

但是我现在在C页面里面又是怎么知道会是情况一还是情况二呢?如果不清楚,那我如何判断该返回到那个也面呢?

请大家帮帮菜鸟,如果解决。(不能在B页面里面做判断,因为我可能还有很多要权限才能访问的页面,总不能每个页面都加吧。)

随便祝大家新年愉快!!!!!
...全文
382 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whcyl 2007-05-16
  • 打赏
  • 举报
回复
jxf654 2007-02-15
  • 打赏
  • 举报
回复
up
flyingfz 2007-02-14
  • 打赏
  • 举报
回复
mark
james_hunter 2007-02-14
  • 打赏
  • 举报
回复
在app_code写一个继承IHttpModule的AuthorizationModule类,类的Init(HttpApplication app)方法中注册一个事件:app.AcquireRequestState +=
new EventHandler(app_AcquireRequestState);
事件代码里对标示权限的Session进行判断。
app_AcquireRequestState(object sender, EventArg e)
{
myUser = Session[User] as myUser;
if (null == myUser)
{
{
Rediract("url");
}
}

在web.config中加上
<httpModules>
<add name="AuthorizationModule" type="YouApp.HttpModules.AuthorizationModule"/>
</httpModules>
lianhoo 2007-02-14
  • 打赏
  • 举报
回复
新建一个页面,比如叫:BasePage,在这个页面的类里,写上你的权限的属性,在Page_Load中写上像jimmyzhuzhu写的方法。你要加权限的页面来继承这个BasePage类。
chenyuling 2007-02-14
  • 打赏
  • 举报
回复
谢谢jimmyzhuzhu(),你说的办法确实是可以。但是我说过“不能在B页面里面做判断,因为我可能还有很多要权限才能访问的页面,总不能每个页面都加吧。”,假如我还有E,F,G,H页面,那岂不是每个页面都加判断啊。


其实我的C页面就是Login.aspx(登陆用的).
在Web.config判断角色,
<authentication mode="Forms">
<forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" />
</authentication>
<authorization>
<allow roles="User" />
<deny users="*" />
</authorization>
我现在不管是A,还是B页面,都不用加什么判断的语句的。现在访问B页面,如果我的身份不是User,那么就马上跳转到了C页面(Login.aspx)。
所以我就提出了我所说到的两种情况。问问大家有什么解决办法,所以干脆抛开我的在后果思路,给点其它的办法。
谢谢大家了。
flyforlove 2007-02-14
  • 打赏
  • 举报
回复
不管从哪个页面转到B页面,都记录那个页面的地址,csdn的登陆就这么干的。
jimmyzhuzhu 2007-02-14
  • 打赏
  • 举报
回复
A页面里:
  response.redirect("B.aspx?ID=1");
B页面里:
if(request.querystring("ID")==1)
{
response.redirect("C.aspx?ID=a");
}
else
response.redirect("C.aspx?ID=b");
C页面:
if(request.querystring("ID")==a)
{
response.redirect("B.aspx");
}
if(request.querystring("ID")==b)
response.redirect("MAIN.aspx");

jimmyzhuzhu 2007-02-14
  • 打赏
  • 举报
回复
在B页面里判断,如果是从A页进入的,传到C页面一个值,不是从A页面进入的,传到C页面是另外一个值,再根据这个值判断
周力 2007-02-14
  • 打赏
  • 举报
回复
在CONFIG里面写吧。。
<authentication mode="Forms" >
<forms loginUrl="Login.aspx" />
</authentication>
<authorization>
<deny users="?" />
...

62,071

社区成员

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

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

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

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