許可權管理 使用者與角色關係

2021-09-08 21:15:19 字數 2655 閱讀 8168

許可權管理,必涉及到使用者與角色關係。

下面的做法,是對某乙個使用者授權擁有某個角色。乙個使用者可擁有多個角色。

建立一張表[usersrole]其中有三個字段,[usersid]註冊使用者id,[roleid]角色表的主id,還有乙個字段[isenable]資料型別為bit是記錄使用者是否擁有此角色。

表的結構如下:

setansi_nulls 

ongo

setquoted_identifier 

ongo

create

table

[dbo].

[usersrole](

[usersid][

int]

notnull,[

roleid][

smallint

]not

null,[

isenable][

bit]

null

) on

[primary]go

alter

table

[dbo].

[usersrole

]with

check

addconstraint

[fk_usersrole_role

]foreign

key(

[roleid])

references

[dbo].

[role](

[roleid])

onupdate

cascade

ondelete

cascade

goalter

table

[dbo].

[usersrole

]check

constraint

[fk_usersrole_role]go

alter

table

[dbo].

[usersrole

]with

check

addconstraint

[fk_usersrole_users

]foreign

key(

[usersid])

references

[dbo].

[users](

[usersid])

onupdate

cascade

ondelete

cascade

goalter

table

[dbo].

[usersrole

]check

constraint

[fk_usersrole_users]go

接下來,寫分配角色儲存過程:

setansi_nulls 

ongo

setquoted_identifier 

ongo

create

procedure

[dbo].

[usp_usersrole_assignrole](

@usersid

int,

@roleid

smallint

,    

@isenable

bit)

asbegin

transaction

declare

@err

int--

判斷[usersrole]表中,此使用者與此角色是否存在記錄    if(

select

count(*

)  from

[usersrole

]where

[usersid]=

@usersid

and[

roleid]=

@roleid

) >

0begin

--如果存在,作更新動作

update

[usersrole

]set

[isenable]=

@isenable

where

[usersid]=

@usersid

and[

roleid]=

@roleid

set@err

=@@error

if@err

<>

0rollback

transaction

endelse

begin

--如果不存在,做插入記錄動作

insert

into

[usersrole](

[usersid],

[roleid],

[isenable]) 

values

(@usersid

,@roleid

,@isenable

)set

@err

=@@error

if@err

<>

0rollback

transaction

endcommit

transactiongo

在asp.net的介面,太概如下:

程式開發中許可權管理簡述,使用者 角色 許可權關係

大家在開發的過程中肯定都要對不同的使用者授予不同的許可權,比如不同使用者給予選單欄顯示的內容不同,這通常是通過使用者 角色 許可權三者之間的管理來管理的 這裡針對winform c s 開發來將 一。首先要建立三者的資料庫關閉,簡單來說需要建立五張表 1.使用者表 2.角色表 3.許可權表 4.使用...

使用者 角色與許可權

經常整理 反思,才能進步。一位偉大的哲學家 還原真相 事情是這樣的,我在實習的時候,我的實習導師安排我做系統後台管理中的 使用者資訊管理 角色管理 許可權管理 三個進行分析,並讓我說了說我的想法。初生牛犢不怕虎,稍微思索了下,就開始講。在講到角色管理和許可權管理的時候,我就說可以將角色管理和許可權管...

oracle使用者管理(使用者 許可權 角色)

1.建立使用者 確定使用者需要將物件儲存在哪個表空間 決定每個表空間中該使用者的使用空間 指派預設表空間和臨時表空間 開始建立乙個使用者,賦予許可權和角色給使用者2.建立使用者的命令 create user 使用者名稱 identified by 使用者密碼 default tablespace 預...