未授权登陆前直接访问某页会自动跳转到登陆页,如何在跳转前执行正访问页中的代码?
情况是这样的:我做了一个网站,配置文件中设置授权方式是Forms,登陆页设置是根目录下的Login.aspx,现在我没有经过登陆页就直接去访问网站中的某个页面,这时ASP.NET会自动重定向到我在配置文件中设置的登陆页Login.aspx,在此页登陆后会自动再返回到访问页。我现在想要做的是,在未经过登陆就直接访问某页面时,如果系统判断到我未经授权的话,我不想要系统自动跳到登陆页,而是先执行我的一段代码后再跳到登陆页,请问这该如何做到呢?我试了在Page_Load事件中执行代码,但是不行,如果直接访问的话,会先执行登陆页中的代码授权成功后再来执行当前页的代码!!
------解决方案--------------------帮你顶下,这个问题我也想知道
------解决方案--------------------偶顶,期待着楼下的正确回答
------解决方案--------------------if(是验证用户)
{
转页、
}
else
{
要执行的代码
}
------解决方案--------------------protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//你要执行的代码
}
------解决方案--------------------超级简单
你新建一个 aspx页 aa.aspx
将未经授权时定向的aa.aspx
然后在
aa.aspx.cs的
page_load()
{
.........................//你想执行的代码
Response.Redirect( "~/Login.aspx ");
}
完成..................
------解决方案--------------------一定要用Forms验证的话,这好像不太可能实现。
可以用Session来试一下
------解决方案--------------------用Session 去 判断下
------解决方案--------------------要看你要做什么的,如果是需要先弹出对话框再跳转的话是可以实现的
Response.White( " <script> alert( '[内容] ');location.href( '~/Login.aspx '); </script> ")
------解决方案--------------------把那个页面的权限设置成任何人都能访问
在跳转到登陆页 不知可行否?
------解决方案--------------------估计不可能,连看那个页的权限都没有,更说不上执行代码了。