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
风萧萧 阅读(795)
评论(2) 编辑 收藏 所属分类:
杂谈