17-项目集成SpringSecurity-为接口资源配置权限信息标识

在com.itheima.stock.controller.LogController中配置接口权限

package com.itheima.stock.controller;

import com.itheima.stock.log.annotation.StockLog;
import com.itheima.stock.service.LogService;
import com.itheima.stock.vo.req.LogPageReqVo;
import com.itheima.stock.vo.resp.PageResult;
import com.itheima.stock.vo.resp.R;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author by itheima
 * @Date 2021/12/23
 * @Description
 */
@RestController
@RequestMapping("/api")
public class LogController {

    @Autowired
    private LogService logService;


    /**
     * 日志信息综合查询
     * @param vo
     * @return
     */
    @PostMapping("/logs")
    public R<PageResult> logPageQuery(@RequestBody LogPageReqVo vo){

        return logService.logPageQuery(vo);
    }

    /**
     * 批量删除日志信息功能
     * @param logIds
     * @return
     */
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "body", dataType = "List<Long>", name = "logIds", value = "", required = true)
    })
    @ApiOperation(value = "批量删除日志信息功能", notes = "批量删除日志信息功能", httpMethod = "DELETE")
//    @StockLog("日志删除")
    @DeleteMapping("/log")
    @PreAuthorize("hasAuthority('sys:log:delete')")//权限标识要与数据库里定义的权限标识一致
    public R<String> deleteBatch(@RequestBody List<Long> logIds){
        return this.logService.deleteBatch(logIds);
    }

}

admin用户拥有所有权限,访问测试,authorization请求头添加admin用户的token

c337f2b494864e7bbaefc63aab284b4e.png

c5ab7e0a2fe14232869a26487f1be14b.png

test用户数据库中没有sys:log:delete权限标识

ae4b62cc9e9742f48c1e4e0a87af4bcc.png

控制台打印:

2024-01-21 19:55:37.368  WARN 8672 --- [nio-8091-exec-1] c.i.s.s.handler.StockAccessDenyHandler   : 当前用户无此资源访问权限,原因:不允许访问

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码的翠花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值