入職8個(gè)月了, 寫完了第三個(gè)筆記本
以前總覺(jué)得,一些閑散職位比如某些政府部門,應(yīng)該
裁掉。但是現(xiàn)在覺(jué)得那些崗位留著,其實(shí)可以保證社會(huì)
穩(wěn)定畢竟讓所有的人在職場(chǎng)中弱肉強(qiáng)食,是很殘酷的事情
有一些崗位,留給婦女同志,有利于小家庭的穩(wěn)定和
社會(huì)的和諧。
為了提高工作效率,關(guān)掉MSN的各類自動(dòng)通知
不能因?yàn)椴恢朗裁慈松狭司€,就分一次神
在Web Service中定義了復(fù)雜類型之后,Axis2會(huì)生成對(duì)應(yīng)的類對(duì)象。這些類都是可以序列化的。
可以把這些類的實(shí)例和字符串之間做相互轉(zhuǎn)化。
// 對(duì)象轉(zhuǎn)換成字符串
StringWriter stringWriter = new StringWriter();
XMLStreamWriter xmlStreamWriter = StAXUtils
.createXMLStreamWriter(stringWriter);
MTOMAwareXMLStreamWriter mtomAwareXMLStreamWriter = new MTOMAwareXMLSerializer(
xmlStreamWriter);
userCredentialsType.serialize(new QName(
"http://newautovideo.com/siteengine/ws/types", "ns1"),
OMAbstractFactory.getSOAP11Factory(), mtomAwareXMLStreamWriter);
xmlStreamWriter.flush();
xmlStreamWriter.close();
String omElementString = stringWriter.toString();
System.out.println("OM String ==> " + omElementString);
// 字符串轉(zhuǎn)換成對(duì)象
XMLStreamReader xmlReader = StAXUtils
.createXMLStreamReader(new ByteArrayInputStream(omElementString
.getBytes()));
UserCredentialsType result = UserCredentialsType.Factory
.parse(xmlReader);
System.out.println("OM Object==> " + result.getUserID());
人做什么事都應(yīng)該有一股狠勁
不管不顧的,就硬做
在權(quán)限系統(tǒng)中,我定義了兩種類型的權(quán)限:
1. 概念說(shuō)明
A 系統(tǒng)級(jí)權(quán)限:從角色的角度出發(fā),不特定于任何實(shí)際的資源的權(quán)限。比如“用戶是否可以修改標(biāo)題”這個(gè)權(quán)限,不針對(duì)于任何特定的標(biāo)題。權(quán)限賦予給某個(gè)特定的角色。采用RBAC模型實(shí)現(xiàn)
B 對(duì)象級(jí)權(quán)限:從對(duì)象實(shí)例的角度出發(fā)。比如針對(duì)于某個(gè)特定的標(biāo)題,編輯在這個(gè)標(biāo)題上的權(quán)限。采用ACL模型實(shí)現(xiàn)。
那么判斷用戶是否可以修改某條的標(biāo)題的判斷順序如下:
1) 用戶所屬的角色是否擁有“修改標(biāo)題”的權(quán)限
2) 用戶或者用戶組是否在某條標(biāo)題的的ACL列表當(dāng)中
2. RBAC權(quán)限部分的表結(jié)構(gòu)說(shuō)明
1)系統(tǒng)權(quán)限(Permission)
系統(tǒng)權(quán)限列表
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,系統(tǒng)權(quán)限id
|
name
|
varchar
|
名稱
|
2) 角色(Role)
角色表
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,角色id
|
name
|
varchar
|
名稱
|
3) 授權(quán)(authorities)
給某個(gè)角色授予多項(xiàng)系統(tǒng)級(jí)權(quán)限
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,id
|
roleid |
bigint
|
角色id
|
permissionid |
bigint
|
權(quán)限id
|
4) 用戶組成員(memeberships)
用戶組以及用戶組成員
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,用戶id
|
groupid
|
bigint
|
用戶組id
|
userid
|
bigint |
用戶id |
roleid |
bigint
|
角色id |
3. RBAC權(quán)限部分的關(guān)系說(shuō)明
用戶和角色:用戶和角色是多對(duì)多的關(guān)系。但是在授予某個(gè)用戶某個(gè)角色的時(shí)候,是以用戶組為單位的。比如用戶A在用戶組1中可能是“管理員”的角色,但是在用戶組2中就可能是“普通用戶”的角色。這種劃分在業(yè)務(wù)系統(tǒng)中比較通用。當(dāng)然,具體到一個(gè)用戶,使用哪個(gè)用戶組的角色來(lái)做判斷,是由業(yè)務(wù)來(lái)決定的。
角色和系統(tǒng)級(jí)權(quán)限:是一個(gè)一對(duì)多的關(guān)系。通過(guò)授權(quán)來(lái)完成。當(dāng)然在授權(quán)之前,需要把需要使用的系統(tǒng)及權(quán)限注射到數(shù)據(jù)庫(kù)的permission表。
(夜露死苦)
最近的工作是一個(gè)基礎(chǔ)設(shè)計(jì),打造一個(gè)基于RBAC和ACL的權(quán)限基礎(chǔ)組件。
這個(gè)基礎(chǔ)組件的特點(diǎn)是:同時(shí)混合了RBAC和ACL的認(rèn)證方式,也就是說(shuō)同時(shí)提供系統(tǒng)級(jí)別的授權(quán)(RBAC)和對(duì)象級(jí)別的授權(quán)(ACL)。
1. 表結(jié)構(gòu)說(shuō)明
1)組織單位(Organization)
組織單位作為基本結(jié)構(gòu)單位。在人員的組織結(jié)構(gòu)中,是用來(lái)表示組織結(jié)構(gòu)樹(shù)。(例如公司)
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,組織結(jié)構(gòu)id
|
name
|
varchar
|
名稱
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
父組織單位的id
|
2) 用戶(User)
是最小的自然單位,無(wú)法再包括子節(jié)點(diǎn)。對(duì)應(yīng)自然人。(例如員工)
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,用戶id
|
name
|
varchar
|
名稱
|
password
|
varchar
|
密碼
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
所屬的組織單位的id
|
3) 用戶組(Group)
包含了多個(gè)用戶的組(例如公司中的項(xiàng)目組)
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,用戶組id
|
name
|
varchar
|
顯示名稱
|
dn
|
varchar
|
distinguish name
|
parentid
|
varchar
|
所屬的組織單位的id
|
4) 屬性(Attributes)
用來(lái)記錄用戶、用戶組、組織單位的屬性。
名稱
|
定義
|
說(shuō)明
|
id
|
bigint
|
主鍵,屬性id
|
ownerid
|
bigint
|
屬性的擁有者id
|
ownertype
|
varchar
|
屬性擁有者類型:用戶、用戶組、組織單位
|
name
|
varchar
|
屬性名稱
|
attribute
|
Text
|
屬性值
|
2. 關(guān)系說(shuō)明
1) 用戶組和組織單位:用戶組是可以用來(lái)分配權(quán)限,而組織單位只是一個(gè)用來(lái)容器,不能用來(lái)分配權(quán)限,可以對(duì)它做組策備應(yīng)用,組織簡(jiǎn)單一點(diǎn)說(shuō)像一個(gè)文件夾,用來(lái)規(guī)劃一個(gè)AD對(duì)象的。(比如一個(gè)公司可以擁有多個(gè)項(xiàng)目組,項(xiàng)目組是分配權(quán)限和資源的單位)
2) 用戶和用戶組: 是多對(duì)多的關(guān)系,同一個(gè)用戶可以隸屬于多個(gè)工作組,同一個(gè)工作組可以包含多個(gè)用戶。(比如某個(gè)員工可以同時(shí)為多個(gè)項(xiàng)目組工作)
3) 用戶和組織單位: 是一對(duì)一的關(guān)系,同一個(gè)用戶只能在某個(gè)組織單位中。比如一個(gè)員工可以同時(shí)為多個(gè)項(xiàng)目組(用戶組)工作,但是員工只能隸屬于一個(gè)公司
(夜露死苦)
1、在菜單中選擇“Weblog”,然后選擇“Another Weblog Service”。
2、在Weblog Homepage URL中輸入你的Blog主頁(yè)地址。
3、輸入用戶名與密碼。
4、在“Type of weblog that you are using”中選擇“Custom(Metaweblog API)”。
5、“Remote posting URL for your weblog”中輸入“http://www.cnblogs.com/用戶名/services/metaweblog.aspx”。
使用注意:用Windows Live Writer發(fā)布之后,Windows Live Writer并不改變當(dāng)前窗口的狀態(tài)(也沒(méi)有明顯的提示),在當(dāng)前窗口中會(huì)將剛發(fā)布的隨筆處于編輯狀態(tài),如果修改并發(fā)布,會(huì)直接修改剛發(fā)布的隨筆內(nèi)容。
八年沒(méi)回杭州了。趁著出差回去了一天。
西湖還是那樣
靈隱還是那樣
學(xué)校也還是那樣,門口的建筑稍顯破敗。
半夜里還是凍得睡不著覺(jué)
原來(lái)對(duì)一個(gè)地方思念過(guò)度之后,會(huì)不自覺(jué)的把記憶稍加美化。現(xiàn)實(shí)讓自己都覺(jué)得有點(diǎn)錯(cuò)愕。