论坛首页 综合技术论坛

创业,不能兼职(29)——角色与后台

浏览 9736 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-07  
和程序员打交道的过程里,完全不懂技术名词完全白痴的我,也慢慢熟悉了一些概念。因为,开发时,他们和你讨论需求时,有时会问你。很多之前,作为外行,从来没有考虑过的概念和问题,慢慢就听说了一些了。

有些时候,我会因为不懂技术,用极其外行朴素的思维方式按自己的理解,去想象技术,有时就会有些东西在想象里想不出来,受到限制,觉得困难。

虽然,一直都有人和我说,你不需要考虑技术问题,你只需要考虑运营,考虑需求。

你提出需求,其他的,技术人员就会解决的。可过去,太多的事实给我的教训是,这句话非常非常错误。作为一个项目的发起人,你没有一些基本的常识,会经常遇到的问题是,你对一些需求可能都提的是表面化的,形象化,界面化,碎片化的。

你对技术人员不太强调那些数据,那些商业逻辑,那些背后的结构。你以为背后结构上,实现的是你以为以后可以扩展的东西。而实际上,那些不是深度挖掘用户需求的一般技术人员已经把你的这种表面需求,作为技术开发需求了。

还有会经常遇到的问题是,和你一起工作的程序员们,不可能样样都熟悉,也有很多知识结构上的短板和一些能力限制,如果,你没有一些基本的常识,可能会遇到开发人员说,这个问题,没办法解决,甚至要求砍掉需求。

开发人员可能遇到的问题,你也不能及时提醒。因为,人少,有时这样的彼此提醒,是很重要的。

所以,自己一定要尽量多学习。这样的学习,对我这样的技术纯白痴来说,有时很痛苦。但我认为,这个学习,其实有时不是要自己真正学会写程序,要理解那么准确,能看懂大致的描述性文字,有个直观感性的感觉,对一些东西的判断有个结论,就可以了。具体的,可以推荐技术人员自己看。

之前,很长一段时间,完全是自己在网上搜索,现在,慢慢认识的那些做技术的朋友们,又给了我一个解惑的渠道,比很多时候,盲目地搜索,甚至不知道如何搜索到答案要好多了。

今天,那个答应帮我试着做一小块功能的哥们问了我一个问题,他说,你这个系统,角色很少吧?

我愣了一下,然后,我们就聊了一下用户,角色,权限的问题。回头我又在网上搜索了一下。

最后,关于这个问题,我得出的感性结论是:

用户,如果网站内容,可以给所有人浏览,那么是可以有注册,不注册的用户。如果不登录,就不能看到全部内容的,就只有注册用户。只能看到部分内容的,应该也是注册了才算真正用户?或者说,这时,是非注册用户的部分权限受限?

我关心的,管理员,有删除,禁止发言,去后台操作等等,都属于权限。

一个用户,只能浏览,跟帖另外一个用户的东西,不能编辑删除另外一个用户的东西,也属于权限。

我说那什么是角色? 他说,这个应该更多是OA里面的,。我后来想了想,大约那意思是,你是一个领导,他是采购,他是销售,领导部门,采购部门,销售部门,就是不同的角色。这各个部门,就是角色。这个角色里,可以有多个用户。某个用户被删除了,或者多了用户,也不影响这个角色的存在。我想,我想做的东西里,是不是管理员,和普通用户,就是2类不同的角色? 其他的不同的角色我也还没想出来。

不过,我希望的是,这个管理员,是有多个的,能除了管理整个后台的管理员,也就是系统管理员外,还有一些能有编辑管理某部分内容的管理员。系统管理员,不参与前台的编辑,不能有直接用户身份,但那些负责部分编辑内容的,自己可能就直接是用户的一员,就如论坛的斑竹。或者,比如有些页面,有推荐的内容,是由这些内容管理员选出来的优质内容,他们有操作置顶他们放在某些地方的权限。

或者,这也是不同的角色?或者是不同的权限?

后来,他又说,那些比如一些网站,你是黄金会员,就能有什么权利,普通会员就没有,这个也是角色。这个。。。我没听太明白,我问,那是不是有些论坛,根据积分,有不同的上传照片,下载软件的权利,这属于角色?他说不是,这个是权限。我有些糊涂。我也觉得,这个属于积分系统对不同用户的权限分配,可是,不同角色,不也是有不同权限吗?他们不就是因为权限不同才有区别?积分系统,或者以后可能的鼓励系统,我还是想过的,只是现在没有想。

算了,先不要那么复杂了。

我得承认,我好像还就是仅仅从自己是个普通用户身份在想,根本没过多想这个问题。只是因为做过一个小论坛管理员,进过后台,有过一些后台的权限,所以,就会在现在做的时候,想起来这个。不然,我连后台还有个可以比较清楚地管理的界面,有一些常规的项目,能很简单管理都不知道。还一直琢磨,那要是改一点东西都得技术人员去改数据库,那维护,得多麻烦啊。


刚刚看了一篇文章,讲角色,用户,权限的,虽然标题写着oracle的,也觉得好像略又所悟。http://www.cnblogs.com/yuepeng/archive/2011/03/18/1984015.html

一、用户

创建用户的语句
create user  用户名
identified by  密码(不要加引号)
default tablespace 默认表空间名 quota 5M on 默认表空间名
[temporary tablespace 临时表空间名]
[profile 配置文件名]                                          //配置文件
[default role 角色名]                                        //默认角色
[password expire]                                             //密码失效
[account lock]                                                   //账号锁定
修改用户
alter user 用户名 identified by 密码 quota 10M on 表空间名
alter user 用户名 account lock/unlock
删除用户
drop user 用户名 [cascade].如果要删除的用户中有模式对象,必须使用cascade.
二、概要文件

资源限制参数:对CPU时间,逻辑读,用户并发会话数,空闲时间,连接时间等数据库和系统资源进行限制。资源参数的值可以是整数,也可以是default或者unlimited。会话级限制是对用户在一个会话过程中所能使用的资源进行限制,调用级限制是对一条SQL语句在执行过程中所能使用的资源进行限制。

资源限制参数有以下几个:sessions_per_user,cpu_per_session/call, lagical_reads_per_session/call, connect_time, idle_time(会话的空闲时间), composite_limit,private_sga。

口令管理策略参数包括:failed_Login_attempts,password_lock_time, password_life_time, password_grace_time,password_reuse_time, password_reuse_max,password_verify_function.

在数据库启动之前,可以通过设置resource limit来决定资源限制的状态。默认是false,不启用。在数据库启动后,可以使用alter system来改变资源限制的状态。alter system set resource limit = true/false.

创建概要文件,可以使用create profile profilename limit [parameters]的语句。
修改概要文件,可以使用alter profile profilename limit [parameters]
删除概要文件,drop profile profilename [cascade 如果已经分配给某个用户]

下面的视图是数据库用户和配置文件信息:
DBA_USERS     所有用户,
all_users     当前用户能看到的所有用户,
user_users     描述当前用户,
dba_ts_quotas    描述用户的表空间限额,
user_ts_quotas    描述具体用户的表空间限额,
user_password_limits 当前用户的口令概要文件参数,
user_resource_limits 当前用户的资源限制,
DBA_profiles    所有的概要文件及其限制,
resource_cost    每个资源的开销,
V_$session     每个当前会话的会话信息,
v_$sesstat     用户会话的统计数据,
v_$_statname, proxy_users可以呈现其他身份的用户.

三、权限

      系统权限是执行一种特殊动作或在对象类型上执行一种特殊动作的权利。这些权限可以授权给用户或者角色,不过一般只授予管理人员和应用开发人员,终端用户不需要这些相关功能。获得授权的用户可以将该权限授予其他用户或者角色,也可以从被授权的用户或者角色收回系统权限(不管是不是自己授权的,都可以收回)。
      对象权限是指在指定的表、视图、序列、过程、函数或者包上执行特殊动作的权力。对于不同类型的对象,有不同的对象权限。像聚集,索引,触发器,数据库链等没有相关的对象权限,它们由系统权限控制。模式的所有者对模式中的对象具有全部对象权限。这些对象的所有者可将这些对象上的任何对象权限授予其他用户。被授权的那些用户可以将获得的权限继续授权给其他人。

四、角色

角色是相关权限的命名组,可以授权给用户或者角色,但不能出现循环授权
任何角色都可授权给任何数据库用户
一个角色可以被授予系统权限,或者对象权限
角色不包含在任何模式中,所以建立角色的用户被删除后,角色不会受到影响
创建角色的语句是    create role 角色名
grant {select on tablename} to rolename为该角色授予一些对象权限和系统权限。角色也需要认证,不过创建角色时默认是不认证的。可以用identified by子句来加上认证
oracle事先定义了五个角色。conncet具有创建表、视图、序列等权限。resource具有创建过程,触发器,表,序列等权限,dba具有全部系统权限,exp_full_database和mp_full_database具有卸出与装入数据库的权限。可以查询sys_dbs,sys_privs可以了解各种角色拥有的权限。
下面是数据库中有关权限和角色的视图:
dba col privs                   描述db中所有列对象的授权,就是具体到某个字段的那些授权   
all col privs                      描述当前用户或者具有public权限用户的所有列对象授权    
user col privs                   描述列对象权限,这些权限的授予者或者被授予者,是当前用户。
all col privs made           描述列对象权限,这些权限的所有者或者授予者是当前用户
user col privs made        描述列对象权限,这些权限的授予者是当前用户,
all col privs recd             描述列对象权限,这些权限的被授予者是当前用户或者public
user col privs recd          描述列对象权限,这些权限的被授予者是当前用户
dba tab privs                   数据库中所有表的授权
all tab privs                     描述表权限,这些权限的授予者是当前用户或者public
user tab privs                  列出当前用户是其被授予者所有对象的授权
all tab privs made           描述当前用户所做的,或者在当前用户所拥有的对象上的对象授权
user tab privs made        列出在当前用户所拥有的所有对象上的授权
all tab privs recd             描述对象授权,这些授权的被授予者是当前用户或者public
user tab privs recd          描述对象授权,这些授权的被授予者是当前用户
dba roles                       数据库中存在的所有角色             //没有找到这个视图
dba role/sys privs              授予给用户或角色的角色/系统权限
user role/sys privs             授予给当前用户的角色/系统权限
role role privs                 授予给其他角色的角色,只是该用户可以访问的角色信息
role sys privs                  授予给角色的系统权限的信息,提供的只是该用户可以访问的信息
role tab privs                  授予给角色的对象权限的信息,提供的只是该用户可以访问的信息
session privs/roles             用户当前激活的权限和角色

五、角色和权限的操作

授予权限或者角色

grant 系统权限 to 用户名 [with admin option].带上with子句,可以让该用户有权限把系统权限授予其他用户
grant 对象权限/all to 用户名[with grant option].带上with子句,可以让该用户有权限把对象权限授予其他用户
有三类对象权限可以授予表或者视图的字段,分别是insert,update,references。比如grant select, insert(字段名),update(字段名) on 表名 to 用户名 with grant option.   
grant 角色名 to 用户名 [with admin/grant option]. 可以把角色授予用户。如果使用了with admin option 子句,该用户可以从任何具有该角色的用户那里收回角色,也可以删除或者修改这个角色。
在同一条grant语句中,可以同时为一个用户授予系统权限和角色,但是不能同时授予对象权限和角色。
收回权限

revoke select, update on 表名 from 用户名
也可以用all 或者all privileges将某个对象所有的对象权限都收回。
激活与禁用角色
        当用户连接到数据库时,只有他的默认角色是激活的,可以用  alter user 用户名 default role  角色名  改变默认角色。还可以用set role 激活或禁用自己拥有的角色。












   发表时间:2011-08-10  
这个和创业不能兼职有什么关系呢?
0 请登录后投票
   发表时间:2011-08-10  
double_f 写道
这个和创业不能兼职有什么关系呢?

0 请登录后投票
   发表时间:2011-08-10  
这个兼职估计指的是创业人员不能以个人担任多个职位
0 请登录后投票
   发表时间:2011-08-11  
double_f 写道
这个和创业不能兼职有什么关系呢?



是博客里一个系列的文章里的一篇

因为一天不能发2篇去博客频道,就随便点了个论坛发的

有前因后果的:)
0 请登录后投票
   发表时间:2011-08-11  
你说的这个东西,我觉得把它叫做“规则模型”比较容易理解。
有些地方会叫这个东西叫“引擎”。
实际上软件本身是一个虚拟化的现实世界。不管游戏还是真正的业务系统都是如此,需要有一套规则在里面运行,建立这个规则模型,也就是软件工程所说的“建模”。
建模的过程需要庞杂的知识和前瞻性,致力于构建虚拟世界的覆盖度或者叫做模拟度。
我不知道你是做项目的还是做管理的或者其他的什么高层,如果产品的命运与你有直接的关系,建议你还是要了解一下计算机体系上的东西。你可以不关注技术的细节,但最少要看到技术的支撑度。
我们要做什么,我们能做什么,我们还能做什么 三个问题。
需求和行业知识可以帮助你了解第一个问题,现有的技术支撑可以帮你了解第二和第三个问题。
我个人认为:产品的成败,在于对产品的控制度,刚开始的时候可以做的不够好,但是要保证它能够持续的进化,而不出现回退。所谓管理能够提供的支撑,一方面是保证生产的可控性,另一方面是信息回馈。
软件本身毕竟是商业行为,商业行为有其必然的规则,尽管在不健全的商业市场初期可能会有畸形团队的生存空间,但早晚会在商业市场的竞争中要么蜕变,要么被淘汰。
0 请登录后投票
   发表时间:2011-08-11  
jackra 写道
你可以不关注技术的细节,但最少要看到技术的支撑度。
我们要做什么,我们能做什么,我们还能做什么 三个问题。
需求和行业知识可以帮助你了解第一个问题,现有的技术支撑可以帮你了解第二和第三个问题。
我个人认为:产品的成败,在于对产品的控制度,刚开始的时候可以做的不够好,但是要保证它能够持续的进化,而不出现回退。所谓管理能够提供的支撑,一方面是保证生产的可控性,另一方面是信息回馈。
软件本身毕竟是商业行为,商业行为有其必然的规则,尽管在不健全的商业市场初期可能会有畸形团队的生存空间,但早晚会在商业市场的竞争中要么蜕变,要么被淘汰。


受教了!强烈谢~

是的,是我要做这个产品,但我的角色充其量只能算半个客户,半个产品经理.希望,我能把产品经理的角色做的更好一些,对技术更了解一些.我现在就是卡在整个和技术相关的环节,包括,技术的支撑度,技术人员的水平判断, 管理项目...都还有很大缺陷...

我慢慢学习
0 请登录后投票
   发表时间:2011-08-12  
洋洋洒洒几千字,  楼主技术里面还有一条重要的, 就是分模块, 你这。。。我实在不想看。
0 请登录后投票
   发表时间:2011-08-12  
实际上计算机技术本身是依据现实世界的模型虚拟出来的.
哪有什么理解不了的说法?
只不过是水平不够只会背书罢了.
读中学的时候曾经听过一个中科院的导师给我们这些学生讲过一次关于天体物理学的课程.其实从本源上来说没什么事情是不好理解的.
语言是传达意识形态的方式和规则,同样的事情可以有无数种表达形式和方式,总会有一种适合接收信息的人,有些技术上的东西,你听不明白,只不过是表述方式不对而已.
重要在于说话的人是理解了还是在背书.
0 请登录后投票
   发表时间:2011-08-12  
不知道楼主要表达什么
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics