开发者学堂课程【高校精品课-厦门大学 -JavaEE 平台技术:权限 AOP】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/80/detail/15942
权限 AOP
AOP 首先定义了两个标签,一个是 audit,即所有要去教练用户的,要登录才能访问的 API,前面加一个标签,叫做 out audit。如果在这个方法中间,需要拿到当前登录的用户,那么去加另外一个标签 loginUser ,在参数前面写 art looking
user,参数写在什么位置都可以。然后就会把当前登录用户设到参数上去,靠的就
是 aop。
在 JAVA1中已经讲过了,定义了一个 aspect,定义了一个 point card,后者定义的是标签,所有加了 audit标签的地方,就是此处的 aspect。
其作用是,现在写了一个 around,就是这里写的 before上头的 around,around
是去把请求的 JWT 拿出来,把 JWT 里头的 userID 给它拿出来。
首先看 JWT 是不是正确的,是正确的就把 userID 给它拿出来,拿出来以后可以看到以下这段代码,其实在它的参数中间去找,哪个参数前面加了 loginUser,如果也加到loginUser,就把 userID 设到对应参数上去,然后再去调它的方法。
Proceed(args)里面参数其实就会发生改变了,在 AOP 的时候,不仅仅是在之前和之后能做些事情,它可以改变传进去参数的值。
所以实际上它改变了参数值,但其实它也可以改变返回值,如果要发生改变的话,在后面将 object 发生改变,然后再丢回去。所以 AOP 的作用,主要就是教练接 JWT,然后判断请求跟它 shop 是一致的,把 loginUser 和 shop 传给后面的 API,
丢进去传给它。所以这部分它全部写完,因为这部分代码本来就简单,在去年代码上稍微改一改,就应该没有什么太大的问题,这就是权限模块的内容。