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

[求教]关于ASP.NET中的检测当前用户登录状态??
从ASP走过来,在ASP中,检测当前用户登录状态的方法,在页首Include一个*.ASP文件进行验证,整个站点页面都Include同一个*.ASP文件!

请问
1.在ASP.NET中这种方法可行否?
2.ASP.NET中有没有办法只在一个文件中(比如Global.aspx)中实现检测,而不用在每个页面中Include一次?
3.在ASP.NET中大家平时都用怎么存放用户信息的,原来ASP中的Session,Cookie还是有更好的方法?

本人初学,不对请指出!
谢谢大家!!

------解决方案--------------------
本人一直使用session来保存
------解决方案--------------------
可以有很多方法:
1、跟ASP差不多,可以在所有页面都包含1个usercontrol,在usercontrol检查当前登录状态。


2、让所有页面的.cs类都集成同1个基类,然后在基类中检查用户是否登入


3、(推荐方法)采用ASP.NET的FORM验证方式来验证,这个只要改改配置文件就ok
http://www.cnblogs.com/kwklover/archive/2004/06/29/19455.aspx
------解决方案--------------------
存储信息和asp是一样的,方式也一样,Global.aspx可以在Application_Start中检测用户是否登录但是好像判断是否登录以后要执行的操作几乎都是要写在页面上的对吧,所以我没见过用Global.aspx去判断登录的,还有两样东西可以减少你的登录判断只要写一处就可以,
第一个是用户控件ascx,然后把每一个页面都加上这个ascx(有点类似使用Include)
第二个方法是使用母版页-.master,然后所有页面在新建的时候使用这个页做母版,这样就可以把判断登录写到母版页中。
------解决方案--------------------
1.不可行,一般都是在另外一个类中定义一个检测的方法,然后在页面加载 的事件中调用这个方法
3。一般都用Cookie的方法,Session有时会丢失
------解决方案--------------------
哎 学习 就怕遇到这样的问题了
http://www.bework.com.cn
------解决方案--------------------
采用ASP.NET的FORM验证方式来验证,这个只要改改配置文件就ok
http://www.cnblogs.com/kwklover/archive/2004/06/29/19455.aspx
------解决方案--------------------
if(session[ "UserName "] != null)
{

}
------解决方案--------------------
在类里面写一个方法,在要检测的地方调用啊,和asp差不多,还不要继承
------解决方案--------------------
1.在ASP.NET中这种方法可行否?
一般用session
2.ASP.NET中有没有办法只在一个文件中(比如Global.aspx)中实现检测,而不用在每个页面中Include一次?
用session检测就不用页面了
3.在ASP.NET中大家平时都用怎么存放用户信息的,原来ASP中的Session,Cookie还是有更好的方法?
也用Session,Cookie
------解决方案--------------------
Session
------解决方案--------------------
要看你做成什么样的功能喽!~不是论坛的话就用Session就可以了!~
------解决方案--------------------
方法简直太多
------解决方案--------------------
用GLOABLE+SESSION 的timeout特点来做用户在线状态的
不过这个不太精准,比如断线,断电,关闭浏览器

如果想要做精确的,可以用JS不断的检查,比较耗用户资源
------解决方案--------------------
写的基类,继承比较好
------解决方案--------------------
写成基类,继承好!
------解决方案--------------------
这样需求,用切面做比较适合,.Net有Aop放面的框架,有一个比较初级的叫Aspect。可以下来用一下试试,用切面的好处就是,代码污染将到最低
------解决方案--------------------
做模板页,在模板页里做
或者使用复杂一点的用httpmodule,httphandler
------解决方案--------------------
AK-47 UP
------解决方案--------------------
session[ "userid "]

------解决方案--------------------
1.在ASP.NET中这种方法可行否?
2.ASP.NET中有没有办法只在一个文件中(比如Global.aspx)中实现检测,而不用在每个页面中Include一次?
3.在ASP.NET中大家平时都用怎么存放用户信息的,原来ASP中的Session,Cookie还是有更好的方法?