資源簡介
水果商城前后臺完整服務器帶數據庫實現,并且有項目文檔,后臺實現了訪問控制
代碼片段和文件信息
/*
?*?
?*?
?*/
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個文件信息
評論
共有 條評論