所有注解
所有的注解以及它的作用简述
开始先把所有注解的作用和作用范围列出来,在不记得的时候可以来查看
注解名 | 用途 | 作用范围 |
---|---|---|
Certificated | 被标记的类以及被标记的方法在被访问时会验证登录。若未登录返回异常 | Spring代ro(以下简称bean)、bean对象里的方法(包括但不限于RequestMapping标记的方法) |
AuthRequireLogin | 此注解等同Certificated,只是一个别名 | |
Auth | 被标记过的类里面的所有方法需要满足指定的权限规则。被标记的方法需要满足指定的权限规则。否则返回异常 | controller、Mapping方法、bean、bean里面的方法 |
Roles | Auth的简化写法,只对Role做限制时可以用@Roles。作用于controller上表示这里面的所有mapping都生效 | controller、Mapping方法、bean、bean里面的方法 |
Perms | Auth的简化写法,只对Permission做限制时可以用@Perms。作用于controller上表示这里面的所有mapping都生效 | controller、Mapping方法、bean、bean里面的方法 |
AuthParam | 指定用户访问参数需要某些权限,或者访问某些资源需要某些权限 | Mapping方法里面的参数上 |
BatchAuthParam | 批量的使用AuthParam | Mapping方法里面的参数上 |
AuthData | 对从数据库获得的资源进行权限过滤。通过指定的权限规则以及数据过滤规则(condition),进行**数据行权限**的过滤 | Mapper映射的实体类上 |
BatchAuthParam | 批量的使用AuthData | Mapper映射的实体类上 |
ArgResource | 数据权限中condition,以及参数权限里面的资源(尽量是无参方法) | bean的方法、任意静态方法 |
AuthzResourcesScan | ArgResource扫描的范围 | 启动类、注解类上 |
Arg | 数据权限AuthData,以及参数权限里面的资源的参数、名字为ArgResource指定的名字 | AuthData注解的参数,目前不支持用于AuthParam里,所以尽量用无参方法 |
AuthField | 对从数据库获得的资源进行权限过滤。被标记的**字段需要某种权限**、或者登录才能查看 | Mapper映射的实体类的字段上 |
Decrypt | 默认为RSA解码器,可以对前端加密的数据进行自动解密。并且可以指定解密其中的json里面的某个字段或某几个字段 | Mapping方法的参数上 |
IPRangeLimit | 限制访问接口的ip范围(网段限制),作用于controller上表示这里面的所有mapping都生效 | controller、Mapping方法 |
RateLimit | 限制访问接口的ip请求速率,同时具有封禁功能。作用于controller上表示这里面的所有mapping都生效 | controller、Mapping方法 |
OAuthScope | OpenAuth2.0开启时使用,被标记的类里面的方法,被标记的方法需要某种授权访问 | controller、Mapping方法、bean、bean的方法 |
OAuthScopeBasic | 同OAuthScope,scope默认为basic | controller、Mapping方法、bean、bean的方法 |
AuthRequestToken | 在访问时以参数名、header、cookie等方式传递accessToken。可用于OpenAuth2.0或者普通模式 | controller、Mapping方法 |
补充
当然也可以不用注解的方式。AuHelper里的 AuHelper.[ hasRole 、 hasPermission 、 hasScope 、 isLogin 、 getUserId ]等方法也能让你在其他地方进行权限判断而不仅限于上面的范围