aisell 04查漏補缺 shiro許可權入門

2021-10-01 11:01:39 字數 4255 閱讀 1285

@entity

@table

(name =

"employee"

)public

class

employee

extends

basedomain

在配置懶載入的時候,查不出資料

會報錯,no session

分析:entitymanager提前關閉了

應該在前台資料查詢完之後再關閉

解決:web.xml 中配置spring過濾器

web.xml 中配置spring過濾器

openentitymanagerinviewfilter<

/filter-name>

class

>org.springframework.orm.jpa.support.openentitymanagerinviewfilter<

/filter-

class

>

<

/filter>

openentitymanagerinviewfilter<

/filter-name>

/*

沒有序列化,spring要序列化之後才能返回

配置成懶載入之後,變成了**模式,department不在是它本身了

hibernate給它多新增了一些屬性,而這些屬性沒有序列化

1) 欄位上加註解

@jsonignoreproperties(value=)

//自定義對映,解決serializer 序列化問題

public

class

extends

}

<

!--註解支援--

>

=>

"supportedmediatypes"

>

8<

/value>

8<

/value>

<

/list>

<

/property>

<

!>

>

=>

<

/bean>

<

/property>

<

/bean>

<

/mvc:message-converters>

<

/mvc:annotation-driven>

在修改部門的時候,會出現 n to n 的情況,這是在修改持久化物件的id

department什麼時候變成持久化物件的?

前台傳過來的是:department.id

.前面是get(), .後面是set()

我們在修改之前做了一次查詢findone,所以employee是乙個持久化物件,

department department = employee.getdepartment也是持久化物件

department.setid的時候,就是在修改持久化物件id

解決:給department設定為null的時候,spring就會重新建立物件new department

@modelattribute

("editemployee"

)public employee beforupdate

(long id,string _cmd)

return null;

}

1) 輕量級的許可權框架

2) shiro(輕量級,粗粒度)

spring security(細粒度)

3) rbac:基於角色的訪問控制

1) authentication:身份認證

2) authorization:授權

3) cryptography:密碼學

4) session management:會話管理

1) subject:當前使用者

2) securitymanager:許可權管理器

3) realm:資料來源

<

!--使用shiro需要先導包--

>

<

!--shiro的核心包--

>

org.apache.shiro<

/groupid>

shiro-core<

/artifactid>

1.4.0

<

/version>

<

/dependency>

<

!--日誌包--

>

commons-logging<

/groupid>

commons-logging<

/artifactid>

1.2<

/version>

<

/dependency>

<

!--測試包--

>

junit<

/groupid>

junit<

/artifactid>

4.9<

/version>

<

/dependency>

<

/dependencies>

# --

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-------

# user:使用者

# 使用者名稱 = 密碼,角色

# --

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-------

[users]

root =

123456

, admin

guest =

123, guest

# --

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-------

# roles:角色

# admin:* 所有許可權

# guest:employee:

* 擁有員工的所有許可權

## --

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-------

[roles]

admin =

*guest = employee:

*

public

class

shirotest

system.out.

println

("是否登入:"

+user.

isauthenticated()

);}}

to be continued …

Js查漏補缺 04

0x00 dom innertext 不識別html innerhtml 可以識別html,此外這兩個函式都能讀取元素內容 當無引數時 以上函式只能修改普通盒子的內容,像表單這種特殊標籤只能用value來修改 this在事件中指向的是事件函式的呼叫者 0x01 一些常用方法 listitems.pu...

Js查漏補缺04 Object型別

doctype html html lang en head meta charset utf 8 title title title head body script 基本資料型別是儲存在棧空間的,相當於直接儲存在實體地址中 而引用資料型別是儲存在堆空間的,相當於是乙個邏輯位址,具體的資料是儲存在...

DOM查漏補缺

使用getattribute 方法只能獲取屬性的文字內容,比如script或者style就不方便了,因此建議使用屬性的方法來獲取,即elenode.attr這種形式 但是自定義的標籤屬性必須使用getattribute 方法來獲得。屬性的方法會返回undefined 修改class通過屬性名的方法是...