我們注意到受保護的資源和對應的權限關系是配死在applicationContext.xml中的:
有時候如果資源和權限的對應關系特別多淋昭,一個一個配并不方便仅仆。我們還是希望把這種關系放到數(shù)據(jù)庫里面俗扇,然后通過SQL的方式取出來匾竿。
打斷點測試的時候發(fā)現(xiàn)filterChainDefinitionMap里面放置的就是我們在配置文件配置的鍵值對:
所以如果我們要實現(xiàn)從數(shù)據(jù)庫表中初始化資源和權限搁拙,只需要配置filterChainDefinitionMap即可:
但是我們不可能又在filterChainDefinitionMap里面配置key-value,如果這么做的話和之前的配置不就一樣了嗎梆砸?所以我們需要配置一個bean,這個bean實際上是一個Map园欣,通過實例工廠的方式帖世。
然后我們去實現(xiàn)這個實例工廠: