【转】关于B/S架构应用程序的权限设置分析和总结

简介: 来自:http://www.cnblogs.com/zhouxunyu/p/3790122.html   分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段也保存在数据库中的用户表中。

来自:http://www.cnblogs.com/zhouxunyu/p/3790122.html

 

分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段
也保存在数据库中的用户表中。

问题:这个标识用户权限的字段从数据库中取出如何保存在运行的程序中。


方案一:建立用户类,将从用户表查询出来的信息封装到类里面,用户登录时实例化类获取权限字段。

分析:该解决方案可行,弊端则是:当系统部署发布后同时在线访问用户量很大时,每次实例化的用户类会很多,服务器负荷会很大。

如果这个解决方案应用于C/S架构,我个人认为是最方便也是最好的。

 

方案二:将从用户表中查询出来的信息,特别是标识用户权限的字段信息保存到Session中。

分析:该解决方案视乎也可行。弊端则是:Session存在着超时机制,一但Session超时这运行会报错。Session超时解决方案:Session.time=12000;或者在配置文件中配置

 1 <configuration>
 2 
 3 <system.web>
 4 
 5 <sessionState
 6 
 7 mode="InProc"
 8 
 9 cookieless="true"
10 
11 timeout="30" />
12 
13 </system.web>
14 
15 </configuration>

如果要Session永不超时,那么就在页面虚拟一个无内容的Ifram或者按钮等等,定时刷新它,Session就永远不会超时。但建议最好不要那样,抓取超时,让用户重新登录最好。


方案三:将从用户表中查询出来的信息,特别是标识用户权限的字段信息保存到Cookie中。

分析:该解决方案似乎也可行。弊端则是:Cookie也存在着过时机制,同时如果同一台计算机登录多个用户是就会存在着Cookie冲突。

 

解决Cookie冲突问题:利用键值对,将ID作为键,在数据库中ID永远是唯一的,这样就很轻松的解决了Cookie冲突问题,但在权限设置中最好不用Cookie,Cookie存在着风险,对整个应用程序来说不安全。如果用户更改了本地的Cookie值那么权限就对应着发生变化了,建议不用。

 

相关文章
|
8天前
|
机器学习/深度学习 API 语音技术
|
28天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【2月更文挑战第31天】 随着数字化转型的加速,云原生技术已经成为推动企业IT架构现代化的关键力量。本文深入探讨了云原生架构的核心组件、实施策略以及面临的主要挑战。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等关键技术,揭示了如何利用这些技术实现敏捷性、可扩展性和弹性。同时,文章还讨论了企业在采纳云原生实践中可能遇到的安全性、复杂性和文化适应性问题,并提供了解决这些问题的策略和建议。
|
1月前
|
数据库 Android开发 开发者
构建高性能微服务架构:从理论到实践构建高效Android应用:探究Kotlin协程的优势
【2月更文挑战第16天】 在当今快速迭代和竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性和独立部署能力而受到企业的青睐。本文将深入探讨如何构建一个高性能的微服务系统,涵盖从理论基础到具体实现的各个方面。我们将重点讨论服务拆分策略、通信机制、数据一致性以及性能优化等关键主题,为读者提供一个清晰、实用的指南,以便在复杂多变的业务环境中构建和维护健壮的微服务体系结构。 【2月更文挑战第16天】 在移动开发领域,性能优化和流畅的用户体验是至关重要的。随着技术的不断进步,Kotlin作为一种现代编程语言,在Android开发中被广泛采用,尤其是其协程特性为异步编程带来了革命性的改进。本文旨在深入
239 5
|
1月前
Web应用基本架构
Web应用基本架构。
38 6
|
20天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
23 0
|
6天前
|
运维 监控 自动驾驶
构建可扩展的应用程序:Apollo与微服务架构的完美结合
构建可扩展的应用程序:Apollo与微服务架构的完美结合
30 10
|
8天前
|
机器学习/深度学习 PyTorch API
|
8天前
|
机器学习/深度学习 语音技术 算法框架/工具
|
20天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
42 0
|
29天前
|
Cloud Native 安全 Devops
构建未来:云原生架构在现代企业中的应用与挑战
【2月更文挑战第30天】 随着数字化转型的深入,企业正迅速采纳云原生技术以适应不断变化的市场环境。本文探讨了云原生架构的关键组成部分,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,并分析了它们如何促进企业的敏捷性和可扩展性。同时,文章也识别了企业在采用云原生技术时面临的安全、文化和技术挑战,并提出了相应的解决策略,以帮助企业在云时代保持竞争力。