spring权限框架 aop中怎么修改用户的登陆权限

控制解决案安全框架提供组

前台鼡户台管理用户设置同登录页面登录进行身份验证

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的掱机镜头里或许有别人想知道的答案

}

 AOPAspect Orient Programming)作为面向对象编程的一种補充,广泛应用于处理一些具有横切性质的系统级服务如事务管理、安全检查、缓存、对象池管理等。

通知(Advice):在特定的连接点AOP框架执行嘚动作.包括前置通知(在JoinPoint之前执行的通知)、后置通知(JoinPoint退出的时候执行的通知)、例外通知(方法抛出异常退出是的通知)、最终通知(JoinPoint正常完成后执行的通知)和环绕通知环绕通知在一个方法执行之前和之后执行。它使得通知有机会既在一个方法执行之前又在执行之後运行本例用的是环绕通知

引入(Introduction:添加方法或字段到被通知的类。 spring权限框架允许引入新的接口到任何被通知的对象

目标对象(Target Object:被一个或者多个切面所通知的对象。

AOP中有两种代理方式JDK动态代理和CGLIB代理。

织入(Weaving:组装方面来创建一个被通知对象这可以在编译时 完荿(例如使用AspectJ编译器),也可以在运行时完成spring权限框架和其他纯Java

}

之前写过一个aop后台管理系统权限功能发现贴出来的代码不是很完整。可能会造成参考的用户会运行不正常

下面我将图文结合。贴出完整版代码!此功能不适用所有的aop後台权限仅限同类型风格之类的可用。

mysql数据库创建权限表和管理员权限表:

表对应的就是该后台的主要功能表中间的拼音是功能的 缩寫。我这边用来做权限判断使用

这里面第二列id是关联上面功能的主键。第三列是管理员id 后面的 function_xxx 这些列就是管理员拥有该功能的权限

99:無权限 0:有权限。创建时默认拥有select权限,其他应该为99

表基本结束下面就是功能实现。

主要就是增删改查默认都拥有即:0,请给key value get set下峩这边就截图。并没有赋值代码

这个类我是存放在pojo包下的。

这2个图是有关联的第二张图调用了第一张图片。

3:开始的时候我们创建叻2个表,功能权限表和管理员权限表

对这2个表创建pojo

该service方法等下解析权限的时候用得到。

至于调用mapper方法正常写把。

5:下面是写解析权限嘚aop

如果我这个方法是select则这边要写成select

如果该用户拥有权限。则会走方法里面的return否则会走自定义异常里的return 抛出无权限

同时会问。我这里没參数怎么知道是上面用户。其实上面的解析权限已经获取了用户的对象因为我是将登录的对象存放

在session。那么你写登录方法时可以将對象存放在session,如果自己单独存放则需要修改上面获取用户的方法。

前端在写ajax调用的时候记得优先访问上面的controller权限方法。当返回是success:20000 时则调用请求加载列表的方法(select)否则。alert()会提示无权限

我这里的url就是获取权限。如果成功则调用另写的ajax方法。

到这基本功能全部實现了

以上内容仅供参考!大家一起学习。

}

我要回帖

更多关于 spring权限框架 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信