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

来自: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值那么权限就对应着发生变化了,建议不用。

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

时间: 2024-10-24 13:49:28

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

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

分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段也保存在数据库中的用户表中. 问题:这个标识用户权限的字段从数据库中取出如何保存在运行的程序中. 方案一:建立用户类,将从用户表查询出来的信息封装到类里面,用户登录时实例化类获取权限字段. 分析:该解决方案可行,弊端则是:当系统部署发布后同时在线访问用户量很大时,每次实例化的用户类会很多,服务器负荷会很大. 如果这个解决方案应用于C/S架构,我个人认为是最方便也是最好的. 方案二:将从用户表中查询出来的信息,

程序日志-应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520160}.APPID 为 {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} 的 COM 服务器应用程序的 本地 激活 权限.此安全权限可以使用组件服务管理工具进行修改. 根据

Windows应用程序运行权限设置

在Vista以后的windows版本中,有些时候需要提升编译后生成程序的权限,即希望让生成的程序以管理员身份运行.虽然在一般情况下,可以使用鼠标右键选择的方式来强行以管理员身份运行,但它并没有屏蔽普通运行方式,而且普通人通常也不会使用右键选择以管理员身份运行,所以必须在生成程序时就限定程序只能以管理员方式来运行. 先简单说一下,在Vista以后的windows版本中,微软引入了UAC机制,它的目的是防止程序对操作系统本身进行恶意篡改.要让程序以管理员身份运行,就需要在程序中引入UAC标注,也即让

自开发程序动态权限设置按钮

新建数据元素:ZDLSSX 参考数据域:ZDLSSX 有了这个两个,就可以去定义权限字段了 SU21 新建权限对象:ZSD_RC_PL 新建:权限字段:ZAUTH001 这个时候要去域ZLSSX中,将所有用到的按钮名称,加入到域中,作为KEY 以上准备工作做完后,开始CODING. 在程序开头定义全局字段: DATA:LS_OBJECT  TYPE XUOBJECT VALUE 'ZSD_CR_PL',     LS_FIELD   TYPE FIELDNAME VALUE 'ZAUTH001'

权限设置并未向在应用程序容器 不可用

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19)授予针对 CLSID 为 {6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}.APPID 为 {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}          ShellServiceHost 的 COM 服务器应用程序的 本

融合应用程序架构2或3节点设置(11.1.8更新)

融合应用程序架构2或3节点设置(11.1.8更新) inShare0 注:这篇文章更新11.1.8和11.1.7从我们上一次发布的关于11.1.6 2节点融合应用程序体系结构 http://www.oratraining.com/blog/2013/03/fusion-applications-architecture-for-2-node-setup/ 你问的很多问题关于如何安装融合应用3节点上因为我以前的安装指南展示单一节点或2节点安装(包括即将到来的一个). 根据Oracle建议使用至少2

RNN-RBM for music composition 网络架构及程序解读

RNN(recurrent  neural network)是神经网络的一种,主要用于时序数据的分析,预测,分类等. RNN的general介绍请见下一篇文章<Deep learning From Image to Sequence>.本文针对对deep learning有一点基础(神经网络基本training原理,RBM结构及原理,简单时序模型)的小伙伴讲一下Bengio一个工作(RNNRBM)的原理和实现. 本文重点内容:针对RNN(recurrent neural network)一个应

微软代码示例:ASP.NET 2.0 三层架构应用程序教程系列

本文转自:http://www.codeusing.com/hi/uephee.wen/resource/view/170.aspx 资源分类:微软代码示例               更新日期:2008-10-11 主页:http://msdn.microsoft.com/en-us/library/aa581769.aspx 语言:英文  授权形式:免费 微软 Scott Mitchell 为大家准备的 ASP.NET 2.0 三层架构应用程序系列教程,共35讲,分别有C#和VB.NET版本

《大型网站技术架构:核心原理与案例分析》笔记

目录 · 大型网站软件系统的特点 · 大型网站架构演化发展历程 · 初始阶段的网站架构 · 需求/解决问题 · 架构 · 应用服务和数据服务分离 · 需求/解决问题 · 架构 · 使用缓存改善网站性能 · 需求/解决问题 · 架构 · 使用应用服务器集群改善网站的并发处理能力 · 需求/解决问题 · 架构 · 数据库读写分离 · 需求/解决问题 · 架构 · 使用反向代理和CDN加速网站响应 · 需求/解决问题 · 架构 · 使用分布式文件系统和分布式数据库系统 · 需求/解决问题 · 架构 ·