Acegi是Spring的一個擴展框架,專注于解決應用中的安全問題。
今天花了一下午加一晚上,終于做了一個基于Acegi的自己的HelloWorld。
感覺在RDBMS的認證方式的擴展上有些不靈活。默認是基于開源的數據庫HSQLDB的,實現這個機制的是JdbcDaoImpl.java類。看了sourcecode,發現類里面寫死了兩個SQL語句:
public static final String DEF_USERS_BY_USERNAME_QUERY = "SELECT username,password,enabled FROM users WHERE username = ?";
public static final String DEF_AUTHORITIES_BY_USERNAME_QUERY = "SELECT username,authority FROM authorities WHERE username = ?";
相關代碼沒進一步看,發現有幾個Polo類,如User.java和上面的語句對應,所以,這個語句的字段不能隨便改。JdbcDaoImpl類的源代碼建議通過繼承來擴展,我覺得不是很好,應為Sql語句在父類里寫死了。在實際應用中,users表結構比這復雜的多。
想抽空,重新寫一個JdbcDaoImp類,替換一下。
posted on 2005-10-24 00:23
風蕭蕭 閱讀(804)
評論(2) 編輯 收藏 所屬分類:
雜談