日期:2014-05-18  浏览次数:21179 次

WebForm如何设置只有登录后才能访问指定页面
我现在有2个页面,一个是login.aspx,还有一个是inventory.aspx。现在是直接输入inventory.aspx的URL就可以访问该页面了。login.aspx等于没有。
我想实现的是只有从login.aspx登录才能访问inventory.aspx,当你直接输入inventory.aspx的URL后自动转到login.aspx或者直接显示错误信息。
我之前没做过WebForm的,请大家帮忙解决,谢谢

------解决方案--------------------
login中如果登陆成功就session[ "user "]=用户名;否则session[ "user "]=null;
然后各个页面检查session[ "user "]是否为空``如果为空就response.reirct(login.aspx)
------解决方案--------------------
<httpRuntime executionTimeout= "568 " />
<authentication mode= "Forms ">
<forms loginUrl= "login.aspx "/>
</authentication>
<sessionState mode= "StateServer " stateNetworkTimeout= "568 "
timeout= "568 " />
<authorization>
<deny users= "? "/>
</authorization>
------解决方案--------------------
Session的办法是可行的.
在login.aspx页面:
登录成功时加上Session[ "Account "]=this.txtname.text;
在inventory.aspx页面:
Page_Load事件里:
if(!this.ispostback)
{
if(Session[ "Account "]==null)
{
Response.Redirect( "login.aspx ");
}
}
------解决方案--------------------
用form验证就可以,在web.config中修改验证的方式,默认的是windows验证,该为form验证就可以,设置你允许访问的页面就可以。

这种方法比楼上的用session好一点,如果用session的方式,最好放到基类里面来做。

form验证的安全性比较高