<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    老妖的博客
    現(xiàn)實(shí)的中沒有幾個(gè)人能夠真為對(duì)方去死,甚至山盟海誓很快就會(huì)在金錢面前變的微不足道,這才是生活。沒有永遠(yuǎn)的愛,除了你的父母對(duì)你,當(dāng)然也就沒有永遠(yuǎn)的恨,更沒有永遠(yuǎn)的痛,時(shí)間是最好的治療大師,它會(huì)很快撫平你心靈上累累的傷痕。很多年以后你想起來時(shí),那些在你生命中洶涌來往的人群至多是個(gè)模糊的影子或者毫無(wú)意義的名字
    posts - 105,  comments - 171,  trackbacks - 0
     1 package com.rdk.security.intercept.web;
     2 
     3 import net.sf.acegisecurity.intercept.web.FilterInvocationDefinitionSource;
     4 import net.sf.acegisecurity.intercept.web.AbstractFilterInvocationDefinitionSource;
     5 import net.sf.acegisecurity.ConfigAttributeDefinition;
     6 import net.sf.acegisecurity.SecurityConfig;
     7 
     8 import java.util.Iterator;
     9 
    10 import com.rdk.security.persistence.ActionDao;
    11 import com.rdk.security.domain.Action;
    12 import com.rdk.security.domain.RoleAction;
    13 import com.rdk.core.NullParameterException;
    14 import org.springframework.dao.IncorrectResultSizeDataAccessException;
    15 
    16 /**
    17 * Clase encargada de implementar la propiedad ObjectDefinitionSource para la clase de acegi
    18 * FilterSecurityInterceptor esta implementacion le entrega el objeto ConfigAttributeDefinition
    19 * con los roles permitidos a acceder a la url pasada como parametro.
    20 * User: Rodney Gallart (rodney@radikalsystems.com)
    21 * Date: Jan 25, 2005
    22 * Time: 4:20:04 PM
    23 */
    24 public class DaoBasedFilterInvocationDefinitionSource
    25 extends AbstractFilterInvocationDefinitionSource
    26 implements FilterInvocationDefinitionSource {
    27 
    28 private ActionDao actionDao;
    29 /**
    30 * Implementacion dao de los objetos de tipo Action
    31 @param actionDao
    32 */
    33 public void setActionDao(ActionDao actionDao) {
    34 this.actionDao = actionDao;
    35 }
    36 
    37 /**
    38 * A este metodo se le pasa como parametro la url que se quiere acceder y devuelve el objeto
    39 * ConfigAttributeDefinition donde vienen los roles que pueden acceder a esa url
    40 *
    41 * ConfigifAttributeDefinition contiene una lista de objetos que implementan la interfaz ConfigAttribute
    42 * puede ser SecurityConfig (Roles como String)
    43 *
    44 * Ahora con la url pasada como parametro debe hacerse una busqueda en una lista de acciones cuando se encuentre
    45 * la accion a la cual pertenece la url entonces se devuelve la lista de Roles
    46 * TODO Analizar la posibilidad de implementar un mecanismo de cache Mapa(url, Action) y bajo que condiciones vaciarlo
    47 @param url Pasada como paremetro para buscar sus roles permitidos
    48 @return ConfigAttributeDefinition
    49 */
    50 public ConfigAttributeDefinition lookupAttributes(String url) {
    51 if (url == null)
    52 throw new NullParameterException("Parametro url null");
    53 try {
    54 url = url.toLowerCase();
    55 url = url.substring(1);
    56 if (url.contains("&"))
    57 url = url.substring(0, url.indexOf("&"));
    58 Action act = actionDao.findByUrl(url);
    59 return obtainRolesInConfigAttributeDefinitionObject(act);
    60 }
    61 catch (IncorrectResultSizeDataAccessException ex) {
    62 return null;
    63 }
    64 }
    65 
    66 /**
    67 * En este metodo se van a obtener los roles asociados a la accion y se va a crear el
    68 * objeto de tipo ConfigAttributeDefinition con la lista de objetos SecurityConfig
    69 @param act
    70 @return
    71 */
    72 private ConfigAttributeDefinition obtainRolesInConfigAttributeDefinitionObject(Action act) {
    73 ConfigAttributeDefinition cad = new ConfigAttributeDefinition();
    74 Iterator it = act.getRoles().iterator();
    75 while(it.hasNext()) {
    76 RoleAction ra = (RoleAction) it.next();
    77 SecurityConfig sc = new SecurityConfig(ra.getRole().getName());
    78 cad.addConfigAttribute(sc);
    79 }
    80 return cad;
    81 }
    82 
    83 public Iterator getConfigAttributeDefinitions() {
    84 return null;
    85 }
    86 
    87 }
    88 
    posted on 2005-11-14 01:58 老妖 閱讀(2012) 評(píng)論(4)  編輯  收藏 所屬分類: spring

    FeedBack:
    # re: acegi擴(kuò)展AbstractFilterInvocationDefinitionSource
    2005-11-14 13:59 | pikachu
    將url和權(quán)限的對(duì)應(yīng)關(guān)系存放在數(shù)據(jù)庫(kù)中??  回復(fù)  更多評(píng)論
      
    # re: acegi擴(kuò)展AbstractFilterInvocationDefinitionSource
    2005-11-14 14:51 | 老妖
    恭喜你,答對(duì)了  回復(fù)  更多評(píng)論
      
    # re: acegi擴(kuò)展AbstractFilterInvocationDefinitionSource[未登錄]
    2007-01-29 18:33 | apple
    import com.rdk.security.persistence.ActionDao;
    import com.rdk.security.domain.Action;
    import com.rdk.security.domain.RoleAction;
    這三個(gè)包分別指什么呢?初學(xué),請(qǐng)?jiān)敿?xì)說一下可以嗎?  回復(fù)  更多評(píng)論
      
    # re: acegi擴(kuò)展AbstractFilterInvocationDefinitionSource[未登錄]
    2007-01-29 18:34 | apple
    此外,若用戶新添加了URL,那是不是還要重新啟動(dòng)服務(wù)器?  回復(fù)  更多評(píng)論
      

    <2005年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    隨筆分類(48)

    隨筆檔案(104)

    好友鏈接

    我的豆瓣

    積分與排名

    • 積分 - 220883
    • 排名 - 257

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲国产高清视频在线观看| 国产精品无码亚洲一区二区三区| 男女免费观看在线爽爽爽视频| 亚洲欧美在线x视频| 亚洲乱码一区二区三区在线观看| 精品无码国产污污污免费网站| 亚洲最大的成人网站| 亚洲日韩国产成网在线观看| 2022久久国产精品免费热麻豆| 亚洲hairy多毛pics大全| 久久久久久久综合日本亚洲 | AV免费网址在线观看| 乱人伦中文视频在线观看免费| 亚洲精品高清久久| 国产一卡二卡≡卡四卡免费乱码| 免费人成在线观看网站品爱网| 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 成年在线观看网站免费| 亚洲乱亚洲乱妇无码| 亚洲av女电影网| 无码专区一va亚洲v专区在线| 2021精品国产品免费观看| 一区二区三区免费电影| 亚洲色精品三区二区一区| 亚洲爆乳无码专区| 免费大黄网站在线观看| 在线观看特色大片免费视频 | 99久热只有精品视频免费看| 一级毛片免费播放试看60分钟| 亚洲一卡2卡三卡4卡无卡下载 | 亚洲色图国产精品| 亚洲综合精品网站| 日本特黄特色aa大片免费| 波多野结衣在线免费视频| 成全视频高清免费观看电视剧| 国产成人亚洲综合无| 国产成人精品日本亚洲网址| 亚洲国语精品自产拍在线观看| 久久影视综合亚洲| 国产国产人免费视频成69大陆| 免费在线看v网址|