@RequiresGuest,@RequiresUser,@RequiresAuthentication等详解 第二章

@Controller,@RequiresGuest,@RequiresUser等详解 第二章


第一篇: link. @ResponseBody,@RequestMapping,@RequiresPermissions等详解第一章
第二篇: link. @Controller,@RequiresGuest,@RequiresUser等详解 第二章
第三篇: link. @Controller,@RequestParam,@RequestBody,@RequestHeader等注解第三章

@RequiresAuthentication

验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时。
用注解@RequiresAuthentication去实现

  1. 如果用户没登陆系统,系统给出的是异常 //UnauthenticatedException 没登陆
  2. 如果是用户已经登陆但是没某个操作的权限,我在方法@RequiresPermissions(value=“user:create”)让他具有权限,否则抛异常 //UnauthorizedException 没权限

@RequiresUser

验证用户是否被记忆,user有两种含义:

  1. 一种是成功登录的(subject.isAuthenticated() 结果为true);
  2. 另外一种是被记忆的(subject.isRemembered()结果为true)。

@RequiresGuest

验证是否是一个guest的请求,与@RequiresUser完全相反。
换言之,RequiresUser == !RequiresGuest。此时subject.getPrincipal() 结果为null.

@RequiresRoles

@RequiresRoles(“Name”);给Name这个用户授权,中有Name角色才可以访问接下来的方法。如果没有这个权限则会抛出异常AuthorizationException。

@Validated

可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理

public String save(@Validated JixiaoIndex jixiaoIndex) {
    
    。。。}

@PathVariable

@PathVariable(“xxx”),路径变量
通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“)

@RequestMapping("/getUserId/{name}")
    public User getUser(@PathVariable("name") String name){
    
    
        return userService.selectUser(name);
    }

第一篇: link. @ResponseBody,@RequestMapping,@RequiresPermissions等详解第一章
第二篇: link. @Controller,@RequiresGuest,@RequiresUser等详解 第二章
第三篇: link. @Controller,@RequestParam,@RequestBody,@RequestHeader等注解第三章

猜你喜欢

转载自blog.csdn.net/weixin_43390321/article/details/113385049