安全登录的问题 在ASP.NET中,注册的用户信息存在sql server数据库中,怎么让用户只能通过登录界面进入其他页面(防止直接输入其他页面的网址直接进入),高手指点下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建一个类,这个类继承web.ui.page.这个类判断session是否有值 (登录页给session赋值)所有需要“防止直接输入页面网址的页”都继承自这个类。如下:checkLogin.cspublic class checkLogin :System.Web.UI.Page{ public checkLogin() { } protected override void OnLoad(EventArgs e) { this.checkuser(); base.OnLoad(e); } private void checkuser() { if (this.Session["userid"] == null || this.Session["userid"].Equals("")) { Response.Redirect("redirect.htm"); } }}需要验证是否登录的页继承这个类:如下,public partial class Manage_setMode : checkLogin 恩,也可以在其它页面的Page_Load里写上当Session["XXX"]为空的话,就跳转到登录页面的语句 上面正解!!放在cookie里面也可以 如果有几百个页面,那是不是每个页面都得加上Page_Load里写上当Session["XXX"]为空的话,就跳转到登录页面的语句呢?有些不理解 用cookie比较好一点,我感觉。虽然有些浏览器不支持cookie,安全性低。毕竟cookie是基于客户端判断的,一旦页面数量很多的话,服务器负荷会变得很大,页面多的话,你可以单独建一个类,里面专门写cookie判断的代码,然后在需要限、制的页面进行调用就可以了。何必每页都来写cookie:) 可以在Web.config里面配置啊,我不太懂,Lz查一下这方面的资料啊 在web.config里配置一下,其他的页面就都不需要改动,是这样的吗网站以前没有用登陆页面,不需要验证什么,现在想要加个注册登陆的页面是不是只改下web.config文件,其他的页面都不用修改啊,页面很多的 web.config中配置,这个达不到要求,就自己来控制可以使用一楼说的BasePage类,也可以在httpmodule中控制,感觉后者更好一些。 不清楚为什么weizhuangzhi(壮志)说“web.config中配置,这个达不到要求”?难道<authorization> <deny users="?"/> </authorization> <authentication mode="Forms"> <forms loginUrl="login.aspx" name=".MyCookie" path="/" protection="All" timeout="20" cookieless="UseDeviceProfile" defaultUrl="~/Bus_Manage/BusInfo.aspx"/> </authentication>不行?反正我就这么做的,运行挺好! 楼上,你这个只对login.aspx进行验证,如果我直接在IE 中输入内页的URL,不需要登录一样可以进去,所以一楼的办法我觉得可以,当然大家也可以把session换成cookie [调查]真正的项目中mvc的多还是webform的多 什么是环境变量 引用com组件的问题。 ASPX页面打开模式窗口的奇怪问题——信息没有及时更新 asp.net C#语言求助 ASP.NET查询问题 vs.net的问题 100分求 vs2005完整版的下载地址!!!(在线急等) 用OWC导DataGrid到Excel,怎么导出有链接内容,在Excel里保留链接? 【救命】VS2005服务器配置问题。 通配符的问题 请问关于ReportViewer的帮助文档或资料、丛书哪里有或推荐?
如下:
checkLogin.cs
public class checkLogin :System.Web.UI.Page
{
public checkLogin()
{
} protected override void OnLoad(EventArgs e)
{
this.checkuser();
base.OnLoad(e);
} private void checkuser()
{
if (this.Session["userid"] == null || this.Session["userid"].Equals(""))
{
Response.Redirect("redirect.htm");
}
}
}需要验证是否登录的页继承这个类:如下,
public partial class Manage_setMode : checkLogin
放在cookie里面也可以
有些不理解
页面多的话,你可以单独建一个类,里面专门写cookie判断的代码,然后在需要限、制的页面进行调用就可以了。何必每页都来写cookie:)
网站以前没有用登陆页面,不需要验证什么,现在想要加个注册登陆的页面
是不是只改下web.config文件,其他的页面都不用修改啊,页面很多的
可以使用一楼说的BasePage类,也可以在httpmodule中控制,感觉后者更好一些。
<authorization>
<deny users="?"/>
</authorization>
<authentication mode="Forms">
<forms loginUrl="login.aspx" name=".MyCookie" path="/" protection="All" timeout="20" cookieless="UseDeviceProfile" defaultUrl="~/Bus_Manage/BusInfo.aspx"/>
</authentication>
不行?反正我就这么做的,运行挺好!