社区
ASP
帖子详情
192分请您发表高见---关于权限设置.
ROBOT
2000-06-10 10:10:00
加精
有一MIS项目,要求是纯B/S 模式, 采用InterDEV+SQL Server的方式,如何设置权限和管理系统的安全性最好?
...全文
414
16
打赏
收藏
192分请您发表高见---关于权限设置.
有一MIS项目,要求是纯B/S 模式, 采用InterDEV+SQL Server的方式,如何设置权限和管理系统的安全性最好?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DBSong
2000-08-10
打赏
举报
回复
关注
ROBOT
2000-08-02
打赏
举报
回复
请教popoli:
在您所说的权限中,您认为在对表的权限分配中,是独立使用SQL SERVER的权限分配好,还是SQL SERVER 同WINNT一起好.
如果是SQL SERVER 同WINNT结合对数据库进行权限分配,又该如何在程序中对用户进行认证?
w102272
2000-07-26
打赏
举报
回复
Sorry, hblinux,没有更详细的资料了,这个其实是从我的项目设计中摘录的,
从脑袋里头抓出来的。
其实权限管理一直是很麻烦的事情,我们原来也是出于无奈要自己设计。对于这个权限管理其实模型都类似。但是在实现的时候最麻烦的还不是实现,而是保证实现的同时如何照顾程序执行效率和使用的方便性。
向刚才各位提的方案,无论是采用SQL SERVER内部权限,还是直接利用NT的权限和用户管理都更方便些。
对于权限管理,其实做得最好的是LOTUS NOTES,你可以看看它的文档,它的安全共有七层。可以一直管理到表单上的域,而且可以在上面写验证程序,做得确实非常非常好。
华南虎哥
2000-07-26
打赏
举报
回复
w102272:你说得这么详细,能不能寄点这方面的资料给我看看,hblinux@163.net
chenwenlong
2000-07-25
打赏
举报
回复
你只有用NT的集成验证才行。
或建立认证中心
虎叔
2000-07-25
打赏
举报
回复
你可以安装Certficate Server。使用Option pack 提供的公共钥匙和私人钥匙系统。对用户数据进行加密。(SSL)
对于用户身份的认证可以使用数字签名和数字信封进行确认。
ROBOT
2000-07-25
打赏
举报
回复
Robber:
在ASP中,取不到用户的密码,如何进行签字。
xuming
2000-07-25
打赏
举报
回复
对于你的要求,在IIS中设置:属性—目录安全性—验证方法,将:“允许匿名访问”改为—“WindowsNT 挑战/反应”即可。
ROBOT
2000-07-24
打赏
举报
回复
不好意思,很长的一段时间不知为什么不能上这一个网站,所以对大家的热心指导既不能给分,也不能参与讨论。
我觉得用WINNT和IIS控制是一个非常正确的方法,但似乎对用户的控制必须进行WINNT的用户管理,能不能直接使用什么方法在ASP中进行控制?还有一个问题是如果是几个人上一台计算机,安全性就不能进行具体到人进行控制了?如果用户的密码进行签字?
w102272
2000-06-19
打赏
举报
回复
对于外部的权限,可以直接使用Sql Server7的用户管理功能,设置一个nt组,例如database,然后进行控制。
对于内部的权限,比较通用的办法一般是要进行定义。
想象一个三维坐标,
X代表了能够访问资源的所有用户,注意这个用户不是实际的内部注册用户,
而应该是用户身份或者群组,象popoli说的那样。定义了群组或者身份后,
将注册的用户分配到身份或者群组。
Y代表了所有能够被存取的资源,例如:程序模块,菜单项目,甚至是一个
FORM上的按钮,可见性,可按这些特性。
具体的划分细节取决于你希望控制的安全颗粒度。对于一般的MIS来说,
实现程序模块级别就可以了,再细分会很麻烦而且影响程序效率,不过
如果要控制,也是这个方法。另外,为了管理方便,你也可以将资源分组。
Z代表了对某种资源的存取权限,对于简单的MIS来说,就是可执行/不可执行。
对于数据来说,
在操作系统中,Z划分得比较细,一般可以划分为:
OWARE:owner,write,append,read,execute
一般的MIS,不要求管理到数据级别那么细,实际上你作一个程序的E权限就可以了。
有了这个模型后,你就有了三张表格,
一张是用户到群组的影射表,
一张是资源定义表。
最后一张是用户(群组/身份)到资源的访问控制表 (Access Control List)
就是很多系统经常说的访问控制表。
事实上,几乎所有的安全和身份认证机制都是这样实现的,无论NT、SYBASE或者其他系统。只是具体实现的时候,要考虑的问题相当多,需要加以简化。
对于你的MIS系统,可以考虑进行如下假设进行简化:
1、仅仅控制程序模块的执行权,这样可以简化权限定义。
2、仅仅在调度模块(例如菜单)处或者进行权限的检查。
ASP就是在被调用页面前进行权限检查,不做更深层次(一个BUTTON)等的控制。
3、如果内部用户很少,可以不定义群组/身份映射,这样更容易实现,缺点是不灵活了。
所以在普通的MIS系统中最差的只做固定口令认证,好一点的做模块/用户认证,再好一些的定义资源和用户群组,最麻烦的就是NT,SYBASE,SQLSERVER这样的用户管理。至于在具体认证的时候,可以采用数据库,这样会很方便。也可以采用在模块头写死为:(允许(管理员/领导。。。)访问,否则。。。这样,简化到这种程度,就非常简单了。)
按照上面的模型简化,越简化越容易实现,但是越不灵活,反之越灵活,使用方便但是程序实现和执行效率越低,需要按照你的项目的实际情况进行考虑。
一般认为,对于资源不要定义分组控制,对人员可以进行分组控制,这是因为对于一个MIS系统,考虑某个按钮可按不可按,一般是没有必要的,除非在一些要求很高的系统中;但是对人员分组的明显好处是,可以对身份授权而不是对人授权,明显适用于一些机构中,某些领导同时拥有几个部门的业务管理权,或者适用于人员调动或者职权变化后,非常灵活地调整对系统的访问权限。
最后要说明的是,安全管理和访问控制需要结合多层机制来实现,NT,IIS,DB,APPlication,别忘记了最后一招是将数据加密。
原则是不要在应用程序级别去实现操作系统实现的东西,没有必要。
基本上内部权限管理,就是这样实现的。
popoli
2000-06-18
打赏
举报
回复
我说的第二点的意思是:你可以设计一个树型权限结构,把每个用户的权限等级存入数据库,
比如:你设定了三层权限等级,①系统管理员②模块管理员③一般用户,那麽①可以指定②的成员有哪些②可以指定③的成员有哪些.(①、②、③首先必须是NT用户)
ROBOT
2000-06-14
打赏
举报
回复
请教popoli:
我不知道您的第二点是应该如何的去实现. 用户要求权限划分得很详细,不但要限制外来人员的访问,也对内部人员进行详细的权限设置.这用SQL SERVER来完成需要做哪些事情?
popoli
2000-06-11
打赏
举报
回复
我做过的B/S结构的项目是这样处理的:
一:用NT的权限作为第一层权限(即根据登录的用户不同出现的模块部分不同).
二:定制一个分级权限,存储于数据库中,限制模块与人员(或部门)之间的使用权限.
三:严格设置IIS的访问权限(不可匿名访问)
四:把设置数据库的password与username的代码写成com
五:把重要文件的访问建立日志
六:用SQL Server的权限设置
hcat1999
2000-06-11
打赏
举报
回复
最好在加上MTS,这样一些重要的数据可以放到DLL程序中,即使别人知道了ASP源码,也看不到如username和 password之类的数据
ROBOT
2000-06-11
打赏
举报
回复
我想用SQL Server的权限设置应该是比较安全的一种方法,也就是用ROLE来进行控制,但不知道如何将权限用ASP进行详细划分,控制。
rongxi
2000-06-10
打赏
举报
回复
仅说一下我自己的观点:
一 没有绝对安全的程序,只要是被惦记上,很难不被....
二 与其费劲的使用ASP设置权限不如使用SQL Server的权限设置,区分用户等级
三 实在想使用自己的程序,或使用大量的if then else 或在数据库中增加一个或几个烈
保存访问等级,这样可以将权限设置细化到每一条纪录
Microsoft Office 使用小技巧
第一部分:WORD1.问: WORD 里边怎样
设置
每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以
设置
不同的页眉。文件 -- 页面
设置
-- 版式 -- 页眉和页脚 -- 首页不同 2.问:请问 word 中怎样让每一章用不同的页眉?怎么我现在只能用一个页眉,一改就全部改了? 答:在插入分隔符里,选插入分节符,可以选连续的那个,然后下一页改页眉前,按
Java架构-Java序列化的状态
关键要点 Java序列化在很多库中引入了安全漏洞。 对序列化进行模块化处于开放讨论状态。 如果序列化能够成为模块,开发人员将能够将其从攻击表面上移除。 移除其他模块可以消除它们所带来的风险。 插桩提供了一种编织安全控制的方法,提供现代化的防御机制。 多年来,Java的序列化功能饱受 安全漏洞 和zero-day攻击,为此赢得了“ 持续奉献的礼物 ”和“ 第四个不可饶恕的诅咒...
PHP,王者之路的基石
马上就要告别PHP了,在这里
发表
点
高见
,希望给以后的同行一点帮助。 看到标题就应该知道,哥也是个搞PHP的,抱歉,不是什么高手,甚至自认为中手都不是,先谈谈哥的编程经历吧,N年前开始学编程,开头学C,然后学C++,JAVA,VB,哥自认为当初学习C,JAVA还是很刻苦的,呵呵,照理说当时那么刻苦,现在咋说也得有点本事了吧 ,可惜,这种因果关系不是必然的,我不知道大家当初...
uniapp经验
uniapp经验
Linux内核探索之路——关于方法
转载自:http://blog.chinaunix.net/uid-20608849-id-3014502.html Linux内核实践之路 —给那些想从Linux内核找点乐趣的人 一个不能回避的尴尬问题:研究Linux内核是不是必须要通过研读那些错综复杂的“邪恶”代码,才能真正理解它? 关于方法 “术业要有专攻”。还记得大学时候训练英语的听说能力。...
ASP
28,391
社区成员
357,059
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章