1、 最近在使用shiro。其中用于了mybatis进行数据库操作,在写xml时添加了如下配置:
<resultMap id="sysUser" type="com.ptp.core.entity.SysUserEntity">
<id property="id" column="id" jdbcType="int"/>
<result property="username" column="username" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
</resultMap>
在启动Tomcat时,停留在了读取Log4j这一步,而且不再等下执行。
随便发现在配置文件中的jdbcType必须是大写,即:INT
2、另外一个问题是都配置成功,并且是从数据库根据用户名查询到了User信息。但是在subject.isAuthenticated()时总是返回false,不知道为何。
原来是因为在shiro的xml添加了
凭证匹配器
<bean id="credentialsMatcher"
class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
<property name="hashAlgorithmName" value="md5" />
<property name="hashIterations" value="1" />
</bean>
因为我在验证密码时未对密码进行加密处理。