首页新闻招聘找找看知识库
  • 回复:35 浏览:9402 2007-12-10 17:08 来自 JesseZhao

    不知道大家在平时权限判断的时候还用不用cookie,我在sdaibuy里面一开始用的session,后来改用的cookie,不知道怎么才能很好的对cookie进行操作,有几个地方蹩脚的写着[code]if (Request.Cookies["UserName"]!= null&&Request.Cookies["UserName"].Value != null && Request.Cookies["UserName"].Value != "")       
                               Response.Write(Request.Cookies["UserName"].Value.ToString ()); [/code]很是不爽,我现在的方法是把他重构成函数放到basepage里面,可是感觉先判断null和是不是为空让人很不舒服,有没有比较好点的方法啊,或者cookie的替代品,都可以。谢谢啊

  • Eric Luo
    2007-12-10 17:10 Eric Luo
    string的静态方法IsNullOrEmpty
    第1楼 回到顶楼
  • JesseZhao
    2007-12-10 17:51 JesseZhao
    呵呵,这个用了
    刚才把他抽成一个WebHelper的静态类了
    里面都用静态方法
    第2楼 回到顶楼
  • JesseZhao
    2007-12-10 17:53 JesseZhao
    如果我直接用string.IsNullOrEmpty(Request.Cookies["UserName"].Value)来判断,而这个时候的UserName的cookie为null,会不会报错啊
    第3楼 回到顶楼
  • 烟头上的探戈
    2007-12-10 19:01 烟头上的探戈
    换成Session
    第4楼 回到顶楼
  • JesseZhao
    2007-12-10 19:38 JesseZhao
    从session换过来的,有点郁闷,网上有登录一次就不用在登陆了,用session我没有实现,有什么好的方法吗?
    第5楼 回到顶楼
  • volnet(可以叫我大V)
    2007-12-10 20:40 volnet(可以叫我大V)
    1、用Membership吧,(PetShop用的就是它)
    2、自己实现缓存版的,但是因为要自己做,所以会很麻烦……
    还是1比较好……
    3、http://space.cnblogs.com/group/topic/598/
    这边还有大虾自己研发了这个,不知道是否适合你呢
    第6楼 回到顶楼
  • wingoo
    2007-12-10 22:00 wingoo
    是啊,用membership就行了
    然后自己进行封装
    第7楼 回到顶楼
  • guojing
    2007-12-11 10:15 guojing
    其实就是这样用cookies也很不错啊..如果封装的话 也要考虑小范围的判断到底谁好
    第8楼 回到顶楼
  • Shing Ye
    2007-12-20 10:20 Shing Ye
    请问园子是用什么机制保存用户信息的?
    第9楼 回到顶楼
  • 武眉博<活靶子.Net>
    2007-12-21 03:47 武眉博<活靶子.Net>
    如果已经有了数据表并且在运行中 再换乘menbership很麻烦
    那么可以考虑实现 自己 IPrincipal和IIdentity接口 来配合Forms身份验证
    Forms验证 一般仍然使用的是cookies 用户信息保存在上下文中

    see:http://www.codeproject.com/aspnet/rolesbasedauthentication.asp?print=true
    第10楼 回到顶楼
  • ︷起↘嚸.
    2008-05-16 09:10 ︷起↘嚸.
    membership是用VS自带的登录控件,那是做的登录控件就不行了吧,判断有没有人登录,其实有很多办法的,比如你在程序里自己定义个DataTable就可以判断是否已登录.`
    第11楼 回到顶楼
  • Annie
    2008-08-02 20:40 Annie
    在Login页面
    HttpCookie cookie = new HttpCookie("LoginCookie");
    cookie.Values.Add("UserName", tbxUserName.Text);
    cookie.Expires=(设置一下时间);
    Response.Cookies.Add(cookie);

    在需要判断cookie的界面:
    HttpCookie cookie = Request.Cookies["LoginCookie"];
    if (cookie == null)
    {
    response.redirect("url");
    }

    我都是这么做的,不用像楼主那么麻烦的判断。
    第12楼 回到顶楼
  • Annie
    2008-08-02 20:41 Annie
    我看错了,已经是七个月前的问题了,Sorry.
    第13楼 回到顶楼
  • 老尧
    2008-09-05 17:06 老尧
    恩,我也是这样判断的.
    Context.Request.Cookies["xx"] != null && Context.Request.Cookies["xx"]["userid"] != null
    第14楼 回到顶楼
  • 网管人生
    2008-11-09 13:16 网管人生
    分析的很清楚
    第15楼 回到顶楼
  • Aggron Cheng
    2009-02-19 21:52 Aggron Cheng
    string name = Request.Cookies["UserName"];
    if ( !String.IsNullOrEmpty(name) )
    {
    }
    可以这样写
    第16楼 回到顶楼
  • 苏飞
    2009-06-24 11:52 苏飞
    Forms验证 来我博客看看文章吧有两个就是关于这个的
    第17楼 回到顶楼
  • 牛牛博客
    2009-07-05 23:22 牛牛博客
    string name = Request.Cookies["UserName"];
    if ( !String.IsNullOrEmpty(name) )
    {
    }
    可以这样写
    这个不错啊
    要是我用我就用if(Request.Cookies["UserName"].ToString()!="")来判断
    第18楼 回到顶楼
  • alixingxing
    2009-07-20 15:34 alixingxing
    第19楼 回到顶楼
  • 平静中的疯狂
    2009-07-20 15:46 平静中的疯狂
    @牛牛博客
    if(Request.Cookies["UserName"].ToString()!="")
    不能这样直接写……
    如果cookies为null,那你后面的ToString()就会报错了。
    第20楼 回到顶楼
  • 小鞠
    2009-07-23 09:13 小鞠
    学习了
    第21楼 回到顶楼
  • 方仁富
    2009-08-29 02:20 方仁富
    Session容易丢失哦,也是比较麻烦的事情。而且Session跟服务器中IIS设置有关系,在IIS6.0 Win2003里有一个多线程的,如果开启了,Session就丢失得特别严重。
    身份验证我也用得微软自带的那套。
    第22楼 回到顶楼
  • 路旭辉
    2009-09-23 10:06 路旭辉
    第23楼 回到顶楼
  • 黑色幽灵
    2009-09-30 14:47 黑色幽灵
    第24楼 回到顶楼
  • Teamleader
    2009-10-10 14:20 Teamleader
    继承basepage做统一验证比较好
    第25楼 回到顶楼
  • 树的种子
    2009-11-11 14:31 树的种子
    第26楼 回到顶楼
  • 水墨坊
    2010-01-21 18:07 水墨坊
    有这方面的实例,看一下:http://www.bbs180.com/topictag-22.aspx
    第27楼 回到顶楼
  • 猎人一号
    2010-02-09 14:47 猎人一号
    搂主可以这样写:
    if (Request.Cookies["UserName"]!= null && !String.IsNullOrEmpty(Request.Cookies["UserName"].Value))
    {
    //...
    }
    第28楼 回到顶楼
  • 远之影
    2010-02-23 23:15 远之影
    我们公司的一个网站和联通的内部网站做个跳转 我看他们的用户ID是存储在网页的heads中的 可以考虑用户信息存储在heads中啊 不过期还好 下次在做网站了我也考虑考虑存储在heads中
    第29楼 回到顶楼
  • 小皮蛋
    2010-03-02 08:54 小皮蛋
    第30楼 回到顶楼
  • cainiaoH
    2010-06-12 14:51 cainiaoH
    用session.session挂了再从cookie里读.
    第31楼 回到顶楼
  • MyDreams
    2010-11-26 10:18 MyDreams
    @JesseZhao
    会的
    第32楼 回到顶楼
  • 郭亿零
    2011-06-11 22:14 郭亿零
    第33楼 回到顶楼
  • JQuery-Ch
    2012-02-25 01:31 JQuery-Ch
    集成到moss里面 呵呵 很好使
    第34楼 回到顶楼
  • 有个小孩叫小七
    2014-07-10 16:32 有个小孩叫小七
    @JesseZhao
    当然会报错。空对象哪有value值
    第35楼 回到顶楼
登录后才能评论,请先登录注册