Maven项目-实现权限
来源:互联网 发布:项链淘宝店铺照片 编辑:程序博客网 时间:2024/06/04 18:55
首先当然就是创建一个maven项目了,创建过程就不说了!~~~~~
Task_common:pom.xml配置可以在这里下载http://pan.baidu.com/s/1bpJaVFp
Task_service:pom.xml配置可以在这里下载http://pan.baidu.com/s/1qXXTxwC
Task_web:pom.xml配置可以在这里下载http://pan.baidu.com/s/1gfLAChX
注意是看t_ r_开头的表,主要是r_role_menu角色菜单,r_user_grounp用户组,r_user_role用户角色,t_group组,t_menu菜单,t_role角色,t_user用户
Ps:权限表设计这里可以参考这里http://blog.csdn.net/chexlong/article/details/37697555
第二步:话不多说,直接撸代码
这些都先简单,就不上代码了,直接来shiro的:
这是MyHandlerInterceptor :
public class MyHandlerInterceptorextends HandlerInterceptorAdapter {
/**
* 视图已处理完后执行的方法,通常用于释放资源
*/
@Override
public void afterCompletion(HttpServletRequestrequest,HttpServletResponseresponse, Object handler, Exceptione)throws Exception {
super.afterCompletion(request,response,handler,e);
}
/**
* 控制器的方法已经执行完毕,转换成视图之前的处理
*/
@Override
public void postHandle(HttpServletRequestrequest,HttpServletResponseresponse, Object handler,ModelAndViewmodelAndView)throws Exception {
super.postHandle(request,response,handler,modelAndView);
}
/**
* 拦截器的前端,执行控制器之前所要处理的方法,通常用于权限控制、日志,其中,Object arg2表示下一个拦截器
*/
@Override
public boolean preHandle(HttpServletRequestrequest,HttpServletResponseresponse, Object handler) throws Exception {
String reqPath = request.getRequestURI().replace(request.getContextPath(),"");
System.out.println(reqPath);
return true;
}
}
自己配的ConsoleRealm :
public class ConsoleRealmextends AuthorizingRealm{
private static Logger_logger = LoggerFactory.getLogger(ConsoleRealm.class);
private @Autowired IUserMapperuserMapper;
private @Autowired IMenuMappermenuMapper;
/** 认证信息 */
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationTokenauthcToken)throws AuthenticationException {
UsernamePasswordToken upToken = (UsernamePasswordToken)authcToken;
String account = upToken.getUsername();
if (account !=null && !"".equals(account)) {
String password = userMapper.queryUserPassword(account);
System.out.println(password);
if(password!=null){
_logger.debug("Account Password:"+password);
return new SimpleAuthenticationInfo(account,password,getName());
}
}
return null;
}
/**授权信息 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollectionprincipals) {
String account = (String) principals.fromRealm(getName()).iterator().next();
List<RoleModel> roles = userMapper.queryUserRoles(account);
_logger.debug("Account Roles:"+roles);
SimpleAuthorizationInfo authInfo = new SimpleAuthorizationInfo();
for(RoleModel role:roles){
System.out.println(role.getId());
System.out.println(role.getName());
List<MenuModel> menus = menuMapper.queryMenuByRoleId(role.getId());
for(MenuModel menu:menus){
System.out.println(menu.getName());
authInfo.addRole(role.getName());
String permission = menu.getPermission();
if(null !=permission &&""!=permission){
System.out.println(permission);
authInfo.addStringPermission(permission);
}
}
}
_logger.debug("AUTH_INFO:"+authInfo);
return authInfo;
}
}
Jsp就不写了。
OK,运行一下:
登陆进去看下效果:
在换一个账号登陆下:
Ps:后台主要采用的是easyui。
- Maven项目-实现权限
- Maven创建项目工厂和设置权限
- maven实现storm实例项目
- maven(8)--创建项目工厂和设置权限
- Maven配置Spring+Hibernate Shiro权限控制项目
- sharepoint2013列表实现项目级权限控制
- restful项目的权限控制实现技巧
- Java实现权限管理-项目设计
- SpringMvc 集成 shiro 实现权限角色管理-maven
- springmvc+shiro+maven 实现登录认证与权限授权管理
- springmvc+shiro+maven 实现登录认证与权限授权管理
- springmvc+shiro+maven 实现登录认证与权限授权管理
- springmvc+shiro+maven 实现登录与权限授权
- Maven项目中用Memcached实现缓存配置
- JAVA Maven项目如何实现定时任务
- maven 项目 发送邮件的实现
- eclipse maven 实现web项目管理
- SSM Maven项目 实现简单分页
- HTML5 websock
- tensorflow中的CRF
- 11月17日云栖精选夜读:继浸没液冷后,阿里再推国内首个锂电池服务器
- thinkphp 模板时间操作、字符切割 条件判断
- Excel在统计分析中的应用—第七章—参数估计-总体均值的估计(总体方差已知下的估计)
- Maven项目-实现权限
- 处理事件(监听器)
- 循环辅助的工具(五)
- 深入理解DOM事件类型系列第五篇——文本事件
- flask用户验证
- hadoop学习之ZooKeeper
- 深入理解javascript原型和闭包(18)——完结
- ubuntu卸载安装软件
- 数据结构 — 冒泡排序以及其优化