使用者與模組關係功能,您可以寫成跟使用者與角色關係一樣。不過下面實現方法會看到更多的許可權控制。
介面如下截圖:
資料表結構如下:
setansi_nulls
ongo
setquoted_identifier
ongo
create
table
[dbo].
[usersmodule](
[usersid][
int]
notnull,[
moduleid][
smallint
]not
null,[
purview][
int]
notnull
) on
[primary]go
alter
table
[dbo].
[usersmodule
]with
check
addconstraint
[fk_usersmodule_module
]foreign
key(
[moduleid])
references
[dbo].
[module](
[moduleid])
onupdate
cascade
ondelete
cascade
goalter
table
[dbo].
[usersmodule
]check
constraint
[fk_usersmodule_module]go
alter
table
[dbo].
[usersmodule
]with
check
addconstraint
[fk_usersmodule_users
]foreign
key(
[usersid])
references
[dbo].
[users](
[usersid])
onupdate
cascade
ondelete
cascade
goalter
table
[dbo].
[usersmodule
]check
constraint
[fk_usersmodule_users]go
接下來,我們得寫分配許可權的儲存過程:
setansi_nulls
ongo
setquoted_identifier
ongo
create
procedure
[dbo].
[usp_usersmodule_assignmoduleaction](
@usersid
int,
@moduleid
smallint
,
@browsing
bit,
@searching
bit,
@creating
bit,
@editing
bit,
@updating
bit,
@deleting
bit,
@erasing
bit,
@submiting
bit,
@auditing
bit,
@reporting
bit,
@receiving
bit,
@delivering
bit)
asbegin
transaction
declare
@purview
int=0if
@browsing=1
set@purview
=@purview+1
if@searching=1
set@purview
=@purview+2
if@creating=1
set@purview
=@purview+4
if@editing=1
set@purview
=@purview+8
if@updating=1
set@purview
=@purview+16
if@deleting=1
set@purview
=@purview+32
if@erasing=1
set@purview
=@purview+64
if@submiting=1
set@purview
=@purview
+128
if@auditing=1
set@purview
=@purview
+256
if@reporting=1
set@purview
=@purview
+512
--如果有更多操作許可權,可以此新增
if@purview
>
0and
@browsing=0
set@purview
=@purview+1
if(select
count(*
) from
[usersmodule
]where
[usersid]=
@usersid
and[
moduleid]=
@moduleid
)>
0begin
update
[usersmodule
]set
[purview]=
@purview
where
[usersid]=
@usersid
and[
moduleid]=
@moduleid
if@@error
<>
0rollback
transaction
endelse
begin
insert
into
[usersmodule](
[usersid],
[moduleid],
[purview])
values
(@usersid
,@moduleid
,@purview)if
@@error
<>
0rollback
transaction
endcommit
transaction
go
許可權管理 模組與頁面關係
把控制的頁面分類,即以模組來分類,如同角色所擁有頁面一樣,最終我們只為使用者分配某一模組,來控制到使用者只能訪問相關的頁面。asp.net前端介面 在資料庫,表 modulepages 結構如下,參考角色與頁面關係表結構一樣 實現為模組分配頁面的事件,還得寫分配事件的儲存過程 setansi nul...
許可權管理 使用者與角色關係
許可權管理,必涉及到使用者與角色關係。下面的做法,是對某乙個使用者授權擁有某個角色。乙個使用者可擁有多個角色。建立一張表 usersrole 其中有三個字段,usersid 註冊使用者id,roleid 角色表的主id,還有乙個字段 isenable 資料型別為bit是記錄使用者是否擁有此角色。表的...
使用者管理與許可權管理
1 新增使用者 首先用adduser命令新增乙個普通使用者,命令如下 adduser tommy 新增乙個名為tommy的使用者 passwd tommy 修改密碼 changing password for user tommy.new unix password 在這裡輸入新密碼 retype ...