Shiro加密处理

来源:互联网 发布:手机淘宝抢购要刷新吗 编辑:程序博客网 时间:2024/05/16 07:12

1、定义一个专门负责取得加密后密码的工具类。
本次采用的是MD5加密处理

public class MyPasswordEncrypt {    private static final String SALT = "*****************";    /**      * 提供有密码的加密处理操作     * @param password     * @return     */    public static String encryptPassword(String password) {        return new MD5Code().getMD5ofStr(password + "*****"+SALT+"*****") ;    }}

2、要建立一个认证的匹配处理类;

public class CustomerCredentialsMatcher extends SimpleCredentialsMatcher {    @Override    public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) {        // 取得原始的输入数据信息        Object tokenCredentials = MyPasswordEncrypt.encryptPassword(super.toString(token.getCredentials())).getBytes();        // 取得认证数据库中的数据        Object accountCredentials = super.getCredentials(info) ;        return super.equals(tokenCredentials, accountCredentials);     }}

将MemberRealm的操作配置定义在spring的配置文件中,

在整个的shiro操作过程之中,对于用户的认证部分除了自定义的Realm之外还需要有一个专门的认证匹配器。

<bean id="memberRealm" class="cn.mldn.realm.MemberRealm">     <property name="credentialsMatcher">     <bean class="cn.realm.cre.CustomerCredentialsMatcher"/> </property> </bean>

0 0
原创粉丝点击