91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 31.53MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-25
  • 語(yǔ)言: 其他
  • 標(biāo)簽: Shiro??權(quán)限控制??

資源簡(jiǎn)介

采用springMVC 和 shiro框架實(shí)現(xiàn)用戶登錄權(quán)限管理

資源截圖

代碼片段和文件信息

package?org.shiro.demo.controller;

import?java.awt.Color;
import?java.awt.image.BufferedImage;
import?java.io.IOException;

import?javax.imageio.ImageIO;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?javax.servlet.http.HttpSession;

import?org.apache.commons.lang.StringUtils;
import?org.apache.shiro.SecurityUtils;
import?org.apache.shiro.authc.AuthenticationException;
import?org.apache.shiro.authc.UsernamePasswordToken;
import?org.apache.shiro.subject.Subject;
import?org.apache.shiro.web.util.WebUtils;
import?org.shiro.demo.entity.User;
import?org.shiro.demo.util.ValidateCode;
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;

@Controller
public?class?LoginController?{

@RequestMapping(value?=?“/login“)
public?String?login(User?userHttpSession?session?HttpServletRequest?request){
//?判斷驗(yàn)證碼
String?code?=?(String)?session.getAttribute(“validateCode“);
String?submitCode?=?WebUtils.getCleanParam(request?“validateCode“);

if?(StringUtils.isEmpty(submitCode)?||?!StringUtils.equals(codesubmitCode.toLowerCase()))?{
return?“redirect:/“;
}

//獲取當(dāng)前的Subject??
Subject?curUser?=?SecurityUtils.getSubject();
UsernamePasswordToken?token?=?new?UsernamePasswordToken(user.getAccount()user.getPassword());
token.setRememberMe(true);
try?{
?//在調(diào)用了login方法后SecurityManager會(huì)收到AuthenticationToken并將其發(fā)送給已配置的Realm執(zhí)行必須的認(rèn)證檢查??
????????????//每個(gè)Realm都能在必要時(shí)對(duì)提交的AuthenticationTokens作出反應(yīng)??
????????????//所以這一步在調(diào)用login(token)方法時(shí)它會(huì)走到ShiroDbRealm.doGetAuthenticationInfo()方法中
curUser.login(token);

return?“/system/main“;
}catch?(AuthenticationException?e)?{
//通過處理Shiro的運(yùn)行時(shí)AuthenticationException就可以控制用戶登錄失敗或密碼錯(cuò)誤時(shí)的情景
token.clear();
return?“redirect:/“;
}
}

/**
?*?生成驗(yàn)證碼
?*?@param?request
?*?@param?response
?*?@throws?IOException
?*/
@RequestMapping(value?=?“/validateCode“)
public?void?validateCode(HttpServletRequest?request?HttpServletResponse?response)?throws?IOException?{
?//設(shè)置頁(yè)面不緩存??
response.setHeader(“Cache-Control“?“no-cache“);
String?verifyCode?=?ValidateCode.generateTextCode(ValidateCode.TYPE_NUM_ONLY?4?null);

?//將驗(yàn)證碼放到HttpSession里面
request.getSession().setAttribute(“validateCode“?verifyCode);
?//設(shè)置輸出的內(nèi)容的類型為JPEG圖像
response.setContentType(“image/jpeg“);
BufferedImage?bim?=?ValidateCode.generateImageCode(verifyCode?90?30?3?true?Color.WHITE?Color.BLACK?null);

//寫給瀏覽器?
ImageIO.write(bim?“JPEG“?response.getOutputStream());
}
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????6115??2013-10-26?11:17??ShiroHibernateSpringDemo\.classpath

?????文件????????345??2013-11-01?14:21??ShiroHibernateSpringDemo\.mymetadata

?????文件???????1767??2013-10-17?21:02??ShiroHibernateSpringDemo\.project

?????文件????????500??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\.jsdtscope

?????文件???????1009??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\com.genuitec.eclipse.j2eedt.core.prefs

?????文件?????????57??2013-10-17?21:07??ShiroHibernateSpringDemo\.settings\org.eclipse.core.resources.prefs

?????文件????????364??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\org.eclipse.jdt.core.prefs

?????文件????????587??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\org.eclipse.wst.common.component

?????文件????????252??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\org.eclipse.wst.common.project.facet.core.xml

?????文件?????????49??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\org.eclipse.wst.jsdt.ui.superType.container

?????文件??????????6??2013-10-17?21:02??ShiroHibernateSpringDemo\.settings\org.eclipse.wst.jsdt.ui.superType.name

?????文件???????4231??2013-10-29?11:11??ShiroHibernateSpringDemo\config\applicationContext-shiro.xml

?????文件???????3699??2013-10-29?12:41??ShiroHibernateSpringDemo\config\applicationContext.xml

?????文件????????351??2013-10-27?16:28??ShiroHibernateSpringDemo\config\ehcache-shiro.xml

?????文件????????689??2013-10-18?17:27??ShiroHibernateSpringDemo\config\ehcache.xml

?????文件????????524??2013-10-26?21:51??ShiroHibernateSpringDemo\config\jdbc.properties

?????文件????????626??2013-06-11?00:01??ShiroHibernateSpringDemo\config\log4j.properties

?????文件???????3402??2013-10-28?20:07??ShiroHibernateSpringDemo\config\spring-mvc.xml

?????文件???????1205??2013-10-18?16:21??ShiroHibernateSpringDemo\readme.txt

?????文件???????2972??2013-10-28?20:57??ShiroHibernateSpringDemo\src\org\shiro\demo\controller\LoginController.java

?????文件???????1161??2013-10-28?20:57??ShiroHibernateSpringDemo\src\org\shiro\demo\controller\UserController.java

?????文件???????4815??2013-10-18?15:41??ShiroHibernateSpringDemo\src\org\shiro\demo\dao\IbaseDao.java

?????文件???????9049??2013-10-18?12:56??ShiroHibernateSpringDemo\src\org\shiro\demo\dao\impl\DefultbaseDao.java

?????文件????????711??2013-06-11?00:23??ShiroHibernateSpringDemo\src\org\shiro\demo\dao\util\CustomDateSerializer.java

?????文件???????4108??2013-06-11?00:23??ShiroHibernateSpringDemo\src\org\shiro\demo\dao\util\Pagination.java

?????文件???????1950??2013-06-11?00:23??ShiroHibernateSpringDemo\src\org\shiro\demo\dao\util\QueryCondition.java

?????文件???????2278??2013-10-26?21:45??ShiroHibernateSpringDemo\src\org\shiro\demo\entity\Permission.java

?????文件???????1969??2013-10-26?21:44??ShiroHibernateSpringDemo\src\org\shiro\demo\entity\Role.java

?????文件???????2231??2013-10-26?21:45??ShiroHibernateSpringDemo\src\org\shiro\demo\entity\User.java

?????文件???????2647??2013-10-26?21:47??ShiroHibernateSpringDemo\src\org\shiro\demo\junit\testInitSystemData.java

............此處省略237個(gè)文件信息

評(píng)論

共有 條評(píng)論