参考:https://blog.csdn.net/u013310119/article/details/105270552/
https://www.cnblogs.com/huangzhe1515023110/p/9276055.html
1.Aop实现权限控制(切入点为被指定注解) 1.1 添加aop相关Maven依赖
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.9.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency>
1.2 修改Spring配置,添加下列代码。 <aop:aspectj-autoproxy />声明自动为spring容器中那些配置@aspectJ切面的bean创建代 理。有一个proxy-target-class属性,默认为false,表示使用jdk动态代理织入增强,当配为<aop:aspectj-autoproxy poxy-target-class="true"/>时,表示使用CGLib动态代理技术织入增强。不过即使proxy-target-class设置为false,如果目标类没有声明接口,则spring将自动使用CGLib动态代理。
<aop:aspectj-autoproxy proxy-target-class="false"/>
1.3修改SpringMVC配置 1.3.1在beans标签里面引入aop标签支持
xmlns:aop="http://www.springframework.org/schema/aop" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
1.3.2 添加配置。同spring配置一样(猜测controller和Service的aop要分开配置,未证实)
<aop:aspectj-autoproxy proxy-target-class="false"/>
1.4 新建注解接口(切入点)
package org.book.aop; import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface PermissionCheck { }
说明: @Documented注解表明这个注解要被javadoc记录。注解默认状态下是不被javadoc记录的。 @Retention注解表明该注解保留到那个阶段,主要有三个值: SOURCE —— 这种注解保留在源代码级别,编译时就会被忽略 CLASS —— 这种注解编译时被保留,在class文件中存在,但JVM将会忽略 RUNTIME —— 这种注解将被JVM保留,利用反射机制可以获取并使用。 @Target注解表明该注解作用的范围。包括package、method、field、构造方法、成员变量、枚举值等属性。 @Inherited注解表明该注解是否影响子类。如果定义的注解上使用了@Inherited标记,则使用该注解的某个父类,它的子类默认继承所有的属性 1.5新建切面类 详情看注解
package org.book.aop; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.book.bean.Manager; import org.book.common.JsonResult; import org.book.service.IManagerService; import org.book.utils.SysContent; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @Aspect//声明本类是切面 @Component//声明组件 @Slf4j public class PermissionCheckAspect { @Autowired IManagerService managerService; @Pointcut("@annotation(org.book.aop.PermissionCheck)")//拦截被PermissionCheck注解的方法 private void scall(){} /** * 环绕 */ @Around("scall()") public Object prepareFood(ProceedingJoinPoint joinPoint) throws Throwable{ log.info("进入切面方法"); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); //从获取RequestAttributes中获取HttpServletRequest的信息 HttpServletRequest request = (HttpServletRequest) requestAttributes.resolveReference(RequestAttributes.REFERENCE_REQUEST); HttpSession session= request.getSession();//获取session String name = ""+session.getAttribute("user");//获取登录的信息 Manager manager =null; try { manager = managerService.getById(name); }catch (Exception e){ return JsonResult.renderFail("你没有权限"); } if(manager==null||manager.getUsername()==null||manager.getUsername().equals("")){ return JsonResult.renderFail("你没有权限"); } return joinPoint.proceed(); } }
1.6 在需要切入的方法前添加注解(即之前新建的注解 PermissionCheck),
1.7 前置通知、后置通知等 未完待续。。。。。
Comments | 237 条评论
博客作者 canadian pharmaceutical companies
With havin so much content do you ever run into any problems of plagorism or copyright infringement? My site has a lot of unique content I’ve either written myself or outsourced but it looks like a lot of it is popping it up all over the internet without my agreement. Do you know any techniques to help stop content from being ripped off? I’d really appreciate it.
博客作者 national pharmacies
Good replies in return of this issue with solid arguments and telling the whole thing about that.
博客作者 discount pharmacy
Hi there, I found your blog by means of Google whilst searching for a similar subject, your site got here up, it seems to be good. I’ve bookmarked it in my google bookmarks.
Hi there, just became aware of your weblog via Google, and found that it’s really informative. I’m going to be careful for brussels. I’ll appreciate should you proceed this in future. Numerous other folks can be benefited out of your writing. Cheers!
博客作者 canadian pharmaceuticals online safe
Very great post. I simply stumbled upon your weblog and wanted to mention that I have really loved browsing your blog posts. After all I will be subscribing for your rss feed and I am hoping you write again very soon!
博客作者 generic viagra online pharmacy
This info is priceless. How can I find out more?
博客作者 canadian pharmaceuticals online shipping
Piece of writing writing is also a excitement, if you be familiar with then you can write if not it is complicated to write.
博客作者 compound pharmacy
Remarkable issues here. I am very happy to look your post. Thanks so much and I’m having a look ahead to contact you. Will you please drop me a e-mail?
博客作者 canadian pharmaceuticals online safe
Way cool! Some very valid points! I appreciate you writing this post plus the rest of the website is also very good.
博客作者 sex porn mom
Daddy gave me a look implying his shoes are needed to be removed. “Can I take off your loafers, daddy ?” I asked so quietly. He looked at me and nodded. I took off both his loafers and put them away neatly in front of me. Daddy then raised his right leg and stepped on my forehead, pushing me down into his loafers. It is a mixed smell with sweat, testosterone, and leather. I couldn’t help but take a big whiff every time I breathed. “Hands-on the floor” he commanded. He moved his feet from my head to my hands. “Kiss them and make the stink goes away using only your fag tongue.” “Yes sir.” [url=https://arturzasada.pl/]porn sex[/url] After I serve daddy’s left one, I was about to move to the right foot. While He stopped me, stood up, and walked towards the couch, he said “Crawling right after me.” I followed daddy. My nose was where daddy’s ass was. I was staring at that crotch while I was crawling, and I didn’t realize daddy stopped one of a sudden in front of the bathroom. My nose is slightly right into that dreaming ass crack.
博客作者 gay sex porn
I didn’t move and I didn’t want to move because the smell in there is so toxic. I can smell daddy’s unwashed ass in there. I was also so happy as daddy sat on the toilet to released his scent just for me to sniff. Just when The scent faded away I heard the daddy say, “Come here, boy.” I saw daddy sitting on my couch with nothing but a white brief on. The bulge was staring at me. I knew I was going to be having a wonderful night. “What…huh…what, dad?” He asks, puzzled by the question from his dad. As his cock is mere inches from his dad’s face.
博客作者 gay sex porn
“What…huh…what, dad?” He asks, puzzled by the question from his dad. As his cock is mere inches from his dad’s face. Daddy smiled and said, “ that is my good boy. Don’t even want to leave your daddy’s Ripe socks on the floor. That’s the respect I love boy.” I then was told to clean his left foot. “Scrub these whitish paste out in my toenails. I want you to smell and place them in your mouth and let me see.” Daddy commented. It smelled and tasted like Brie cheese. Then I moved my tongue in between daddy’s toes. I cleaned up so well. Just thought I was finished. Daddy said,” the sole is clammy. It has nature feet oil after a whole day in the shoes, you think you finished fag. Keep working on that.”
博客作者 medical pharmacy
Greetings from Ohio! I’m bored to death at work so I decided to check out your blog on my iphone during lunch break. I love the info you present here and can’t wait to take a look when I get home. I’m surprised at how quick your blog loaded on my mobile .. I’m not even using WIFI, just 3G .. Anyways, amazing site!
博客作者 canada pharmaceuticals online generic
Hi all, here every person is sharing these knowledge, thus it’s nice to read this website, and I used to go to see this weblog daily.
博客作者 viagra pharmacy 100mg
Wow that was odd. I just wrote an very long comment but after I clicked submit my comment didn’t appear. Grrrr… well I’m not writing all that over again. Regardless, just wanted to say fantastic blog!
博客作者 viagra pharmacy 100mg
I’m gone to tell my little brother, that he should also visit this weblog on regular basis to obtain updated from most recent information.