资源简介
水果商城前后台完整服务器带数据库实现,并且有项目文档,后台实现了访问控制
代码片段和文件信息
/*
*
*
*/
package com.easyshopping;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.easyshopping.Setting.AccountLockType;
import com.easyshopping.Setting.CaptchaType;
import com.easyshopping.entity.Admin;
import com.easyshopping.service.AdminService;
import com.easyshopping.service.CaptchaService;
import com.easyshopping.util.SettingUtils;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.DisabledAccountException;
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.authc.pam.UnsupportedTokenException;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
/**
* 权限认证
*
*
* @version 1.0
*/
public class AuthenticationRealm extends AuthorizingRealm {
@Resource(name = “captchaServiceImpl“)
private CaptchaService captchaService;
@Resource(name = “adminServiceImpl“)
private AdminService adminService;
/**
* 获取认证信息
*
* @param token
* 令牌
* @return 认证信息
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken token) {
AuthenticationToken authenticationToken = (AuthenticationToken) token;
String username = authenticationToken.getUsername();
String password = new String(authenticationToken.getPassword());
String captchaId = authenticationToken.getCaptchaId();
String captcha = authenticationToken.getCaptcha();
String ip = authenticationToken.getHost();
if (!captchaService.isValid(CaptchaType.adminLogin captchaId captcha)) {
throw new UnsupportedTokenException();
}
if (username != null && password != null) {
Admin admin = adminService.findByUsername(username);
if (admin == null) {
throw new UnknownAccountException();
}
if (!admin.getIsEnabled()) {
throw new DisabledAccountException();
}
Setting setting = SettingUtils.get();
if (admin.getIsLocked()) {
if (ArrayUtils.contains(setting.getAccountLockTypes() AccountLockType.admin)) {
int loginFailureLockTime = setting.getAccountLockTime();
if (loginFailureLockTime == 0) {
throw new LockedAccountException();
}
Date lockedDate = admin.getLockedDate();
Date unlockDate = DateUtils.addMinutes(lockedDate loginFailureLockTime);
if (new Date().after(unlockDate)) {
admin.setLoginFailureCount(0);
admin.setIsLocked(false);
admin.setLockedDate(null);
adminService.update(admi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-19 21:10 大疆果园\
文件 3406517 2017-05-11 00:29 大疆果园\djorchard.sql
目录 0 2017-05-11 00:32 大疆果园\大疆果园\
目录 0 2017-05-19 21:09 大疆果园\大疆果园\DJorchard\
文件 561 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.classpath
文件 1262 2017-05-11 01:05 大疆果园\大疆果园\DJorchard\.project
目录 0 2017-05-16 19:53 大疆果园\大疆果园\DJorchard\.settings\
文件 503 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\.jsdtscope
文件 74 2017-05-21 12:44 大疆果园\大疆果园\DJorchard\.settings\com.genuitec.eclipse.core.prefs
文件 1009 2017-05-11 00:48 大疆果园\大疆果园\DJorchard\.settings\com.genuitec.eclipse.j2eedt.core.prefs
文件 57 2017-05-16 19:53 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.core.resources.prefs
文件 364 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.jdt.core.prefs
文件 506 2017-05-11 01:05 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.wst.common.component
文件 252 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 81 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\.settings\org.hibernate.eclipse.console.prefs
目录 0 2017-05-10 23:47 大疆果园\大疆果园\DJorchard\WebContent\
目录 0 2017-05-10 23:47 大疆果园\大疆果园\DJorchard\WebContent\me
文件 39 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\me
目录 0 2017-05-10 23:47 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\
目录 0 2017-05-17 12:17 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\
目录 0 2017-05-17 12:17 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\
目录 0 2017-05-17 12:17 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad\
文件 4615 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad\add.ftl
文件 5253 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad\edit.ftl
文件 4851 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad\list.ftl
目录 0 2017-05-17 12:17 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad_position\
文件 3004 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad_position\add.ftl
文件 3214 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad_position\edit.ftl
文件 4422 2015-03-04 20:20 大疆果园\大疆果园\DJorchard\WebContent\WEB-INF\classes\admin\ad_position\list.ftl
............此处省略2726个文件信息
相关资源
- 中国象棋人机对弈Java版源码
- JAVA程序设计教程课后习题答案
- java中国象棋网络版源文件
- 生产者 消费者 进程 可视化 java
- javaC/S酒店管理系统 sqlsever数据库 附数
- JAVA 写的http服务器
- 基于JAVA的航空订票系统
- 无框架增删改查+登陆+分页+事务处理
- 用java实现ping功能
- 水果忍者java版
- java编写的汇率计算器
- JAVA调用U盾 UKEY网上交易安全认证
- cos-2017.5.jar
- 十字路口交通灯模拟仿真
- Java学生宿舍管理系统课程设计
- 简单的购物管理系统(java纯源码,无
- java研究生管理系统
- java项目——城市公交管理系统
- 《轻量级JavaEE企业应用实战》配套资
- java2word
- UniWebView 3 V3.7.1
- 12道java经典上机测试题含答案
- JAVA用WebService实现调用天气预报功能
- JAVA图书馆书库管理系统设计(论文
- java对接支付宝需要的包_alipay
- 银行家算法的java代码实现,Swing写的
- JAVA连连看包括源码。图片等
- Java学生管理系统.zip
- Java+sql酒店管理系统105553
- java ee个人相册管理系统
评论
共有 条评论