asp.net 里面有没有办法不用在每个后台页面都判断是否登录,而统一判断?

fleetingevent 2017-01-12 09:36:29
大神们,如题。
我感觉这个问题我纠结很久了。。。
我之前用session的。。
但是session人一多同时使用的就慢
所以请问这个该怎么办?
我是vs里面创建的网站,不是创建的项目,我之前了解说写在类里面。但是我如果不用项目的话,类应该写在哪里?怎么调用?
...全文
635 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
具体的就不讨论了,也没有办法讨论。我认为你可以多学习一些别人的好的设计方法,然后“提出来”,再来讨论。 什么解决方案都有可能,关键是你自己有没有本事提出来。自己先给出设计方案,而不是随便提问。
  • 打赏
  • 举报
回复
有很多种方法,例如一个通用的方法可以被调用,也可以写一个用户控件然后用鼠标拖入每一个需要此控件的功能的页面。 关键是,如果你纠结“底层”要不要读取Session集合的问题,那么就是无解的。不管用哪一种形式,总之是要在每一次页面处理请求时去判断登录的。难道还要将业务逻辑改为“不去判断权限”? 那就矫枉过正,改行,别学编程了!
by_封爱 2017-01-12
  • 打赏
  • 举报
回复

public class BasePage:Page
{
public BasePage(){}
protected override void OnInit(EventArgs e)
{
        if (Session["user"]==null)
        {
            Response.Redirect("~/login.aspx?action=out");
        }
        base.OnInit(e);
}
}
然后在index.aspx.cs里这样写

public partial class index: BasePage
就OK了
  • 打赏
  • 举报
回复
人一多是你的代码有问题导致的吧,或者就是达到了服务器承载压力
  • 打赏
  • 举报
回复
basepage 或者 httphandler之类的都可以
EnForGrass 2017-01-12
  • 打赏
  • 举报
回复
你是webform还是mvc webform:每个页面继承一个类比如BasePage,去验证,参考http://blog.csdn.net/fanbin168/article/details/49404233 mvc 用AuthorizeAttribtue
闭包客 2017-01-12
  • 打赏
  • 举报
回复
可以是可以,上面的解决方法都会常用的。 只是这解决的是重复代码的问题,并不能解决你所说的 session 慢的问题。 应为即使你封装了判断登录的逻辑,它里面还是读取 session 去判断的。 session 并不慢,你可能要检查一下慢在哪里。
TobeNotTobe 2017-01-12
  • 打赏
  • 举报
回复
写一个单独的基类页类,其它页全部继承它,而不是默认的System.Web.UI.Page
正怒月神 版主 2017-01-12
  • 打赏
  • 举报
回复
继承一个基类。在基类中的load事件判断就可以了 http://blog.csdn.net/hanjun0612/article/details/50509429
传说之心 2017-01-12
  • 打赏
  • 举报
回复
session是肯定要的,只不过正真的企业服务器肯定是负载均衡的,人家的单点登入也是用一个专门的服务器来放缓存,也有专门的服务器来发放令牌结合客户端的cookie,你一台电脑当然干不了人家几台电脑干的事,主要还不是你电脑内存小,而是你session的策略有问题,比如说你不需要缓存整个session对象,而是用guid构造一个标识符,这就比用session占用的内存小了很多
YeomanAmj 2017-01-12
  • 打赏
  • 举报
回复
引用 7 楼 diaodiaop 的回复:

public class BasePage:Page
{
public BasePage(){}
protected override void OnInit(EventArgs e)
{
        if (Session["user"]==null)
        {
            Response.Redirect("~/login.aspx?action=out");
        }
        base.OnInit(e);
}
}
然后在index.aspx.cs里这样写

public partial class index: BasePage
就OK了
支持,意思就是你写一个UI基类,在基类里面判断登录状态,需要登录才能访问的页面就继承这个基类。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧