资源简介
水果商城前后台完整服务器带数据库实现,并且有项目文档,后台实现了访问控制
代码片段和文件信息
/*
*
*
*/
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串口通信全套完整代码-导入eclip
- 美食天下项目Android版源码和Web版源码
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- JSP做的化妆品商城
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
评论
共有 条评论