diff --git a/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java b/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java deleted file mode 100644 index 6a55f8d..0000000 --- a/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.tamguo.config.shiro; - -import java.util.Set; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.AuthenticationInfo; -import org.apache.shiro.authc.AuthenticationToken; -import org.apache.shiro.authc.IncorrectCredentialsException; -import org.apache.shiro.authc.LockedAccountException; -import org.apache.shiro.authc.SimpleAuthenticationInfo; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authz.AuthorizationInfo; -import org.apache.shiro.authz.SimpleAuthorizationInfo; -import org.apache.shiro.crypto.hash.Sha256Hash; -import org.apache.shiro.realm.AuthorizingRealm; -import org.apache.shiro.subject.PrincipalCollection; -import org.springframework.beans.factory.annotation.Autowired; - -import com.tamguo.modules.member.model.MemberEntity; -import com.tamguo.modules.member.service.IMemberService; - -/** - * 认证 - * - */ -public class MemberRealm extends AuthorizingRealm { - - @Autowired - private IMemberService iMemberService; - - /** - * 授权(验证权限时调用) - */ - @Override - protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { - Set permsSet = null; - SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); - info.setStringPermissions(permsSet); - - return info; - } - - /** - * 认证(登录时调用) - */ - @Override - protected AuthenticationInfo doGetAuthenticationInfo( - AuthenticationToken token) throws AuthenticationException { - String username = (String) token.getPrincipal(); - String password = new String((char[]) token.getCredentials()); - - MemberEntity member = iMemberService.findByUsername(username); - if(member == null) { - throw new UnknownAccountException("用户名或密码有误,请重新输入或找回密码"); - } - Integer loginFailureCount = iMemberService.getLoginFailureCount(member); - if(loginFailureCount > 10) { - throw new LockedAccountException("账号被锁定"); - } - - if(!new Sha256Hash(password).toHex().equals(member.getPassword())){ - loginFailureCount++; - iMemberService.updateLoginFailureCount(member , loginFailureCount); - throw new IncorrectCredentialsException("用户名或密码有误,请重新输入或找回密码"); - } - // 更新登录时间 - iMemberService.updateLastLoginTime(member.getId()); - - SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(member, password, getName()); - return info; - } - -} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java b/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java deleted file mode 100644 index 96f9ab3..0000000 --- a/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.tamguo.config.shiro; - -import java.util.LinkedHashMap; -import java.util.Map; - -import org.apache.shiro.cache.ehcache.EhCacheManager; -import org.apache.shiro.spring.LifecycleBeanPostProcessor; -import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; -import org.apache.shiro.spring.web.ShiroFilterFactoryBean; -import org.apache.shiro.web.mgt.DefaultWebSecurityManager; -import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class ShiroConfiguration { - private static Map filterChainDefinitionMap = new LinkedHashMap(); - - @Bean(name = "shiroRealm") - public MemberRealm getShiroRealm() { - return new MemberRealm(); - } - - @Bean(name = "shiroEhcacheManager") - public EhCacheManager getEhCacheManager() { - EhCacheManager em = new EhCacheManager(); - em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml"); - return em; - } - - @Bean(name = "lifecycleBeanPostProcessor") - public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { - return new LifecycleBeanPostProcessor(); - } - - @Bean - public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() { - DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator(); - daap.setProxyTargetClass(true); - return daap; - } - - @Bean(name = "securityManager") - public DefaultWebSecurityManager getDefaultWebSecurityManager() { - DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(); - dwsm.setRealm(getShiroRealm()); - dwsm.setCacheManager(getEhCacheManager()); - return dwsm; - } - - @Bean - public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() { - AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor(); - aasa.setSecurityManager(getDefaultWebSecurityManager()); - return new AuthorizationAttributeSourceAdvisor(); - } - - @Bean(name = "shiroFilter") - public ShiroFilterFactoryBean getShiroFilterFactoryBean() { - ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); - shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager()); - shiroFilterFactoryBean.setLoginUrl("/login"); - shiroFilterFactoryBean.setSuccessUrl("/index"); - filterChainDefinitionMap.put("/member/**", "authc"); - filterChainDefinitionMap.put("/**", "anon"); - shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); - return shiroFilterFactoryBean; - } -} \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/application.properties b/tamguo-mms/src/main/resources/application.properties index bf41d2f..c34c5ab 100644 --- a/tamguo-mms/src/main/resources/application.properties +++ b/tamguo-mms/src/main/resources/application.properties @@ -1,4 +1,4 @@ -domain.name=http://localhost:8084/ +domain.name=http://m.tamguo.com/ server.port=8084 jasypt.encryptor.password=tamguo @@ -11,14 +11,14 @@ spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 spring.datasource.maxWait=60000 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.minIdle=5 -spring.datasource.password=Tanguo +spring.datasource.password= spring.datasource.poolPreparedStatements=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false spring.datasource.testWhileIdle=true spring.datasource.timeBetweenEvictionRunsMillis=60000 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource -spring.datasource.url=jdbc:mysql://47.100.175.14:3306/tamguo?useUnicode=true&characterEncoding=UTF-8&useSSL=false +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo?useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.username=root spring.datasource.validationQuery=SELECT 1 FROM DUAL