feat(security): 添加 SaIgnore 注解以允许未登录用户访问特定接口
- 在 BannerController、CommentController、HotMusicController、MusicController、PlaylistController、SingerController、TypeController 和 UserController 中添加了 SaIgnore 注解 - 这些注解允许未登录用户访问被注解的接口,以便在前端页面中展示相关信息
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package com.test.musichouduan.controller;
|
package com.test.musichouduan.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import com.test.musichouduan.dto.BannerDTO;
|
import com.test.musichouduan.dto.BannerDTO;
|
||||||
import com.test.musichouduan.dto.PageResult;
|
import com.test.musichouduan.dto.PageResult;
|
||||||
import com.test.musichouduan.dto.Result;
|
import com.test.musichouduan.dto.Result;
|
||||||
@@ -43,6 +45,7 @@ public class BannerController {
|
|||||||
*
|
*
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@Operation(summary = "获取轮播图列表", description = "获取所有启用状态的轮播图列表")
|
@Operation(summary = "获取轮播图列表", description = "获取所有启用状态的轮播图列表")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Result<List<BannerDTO>> getBannerList() {
|
public Result<List<BannerDTO>> getBannerList() {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.test.musichouduan.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.test.musichouduan.dto.CommentDTO;
|
import com.test.musichouduan.dto.CommentDTO;
|
||||||
import com.test.musichouduan.dto.PageResult;
|
import com.test.musichouduan.dto.PageResult;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package com.test.musichouduan.controller;
|
package com.test.musichouduan.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import com.test.musichouduan.dto.MusicDTO;
|
import com.test.musichouduan.dto.MusicDTO;
|
||||||
import com.test.musichouduan.dto.Result;
|
import com.test.musichouduan.dto.Result;
|
||||||
import com.test.musichouduan.service.MusicService;
|
import com.test.musichouduan.service.MusicService;
|
||||||
@@ -33,6 +36,7 @@ public class HotMusicController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Result<List<MusicDTO>> getHotMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<MusicDTO>> getHotMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
// 调用 service 层的新方法,该方法会优先从 Redis 缓存获取
|
// 调用 service 层的新方法,该方法会优先从 Redis 缓存获取
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.test.musichouduan.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.test.musichouduan.dto.MusicDTO;
|
import com.test.musichouduan.dto.MusicDTO;
|
||||||
import com.test.musichouduan.dto.MusicStatusDTO;
|
import com.test.musichouduan.dto.MusicStatusDTO;
|
||||||
@@ -30,6 +31,7 @@ public class MusicController {
|
|||||||
* @param id 音乐ID
|
* @param id 音乐ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public Result<MusicDTO> getMusicById(@PathVariable Long id) {
|
public Result<MusicDTO> getMusicById(@PathVariable Long id) {
|
||||||
Long userId = null;
|
Long userId = null;
|
||||||
@@ -54,6 +56,7 @@ public class MusicController {
|
|||||||
* @param typeId 类型ID
|
* @param typeId 类型ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Result<PageResult<MusicDTO>> getMusicList(
|
public Result<PageResult<MusicDTO>> getMusicList(
|
||||||
@RequestParam(defaultValue = "1") Integer page,
|
@RequestParam(defaultValue = "1") Integer page,
|
||||||
@@ -72,6 +75,7 @@ public class MusicController {
|
|||||||
* @param size 每页大小
|
* @param size 每页大小
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/singer/{singerId}")
|
@GetMapping("/singer/{singerId}")
|
||||||
public Result<PageResult<MusicDTO>> getMusicListBySinger(
|
public Result<PageResult<MusicDTO>> getMusicListBySinger(
|
||||||
@PathVariable Long singerId,
|
@PathVariable Long singerId,
|
||||||
@@ -87,6 +91,7 @@ public class MusicController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/latest")
|
@GetMapping("/latest")
|
||||||
public Result<List<MusicDTO>> getLatestMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<MusicDTO>> getLatestMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<MusicDTO> musicList = musicService.getLatestMusic(limit);
|
List<MusicDTO> musicList = musicService.getLatestMusic(limit);
|
||||||
@@ -99,6 +104,7 @@ public class MusicController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/hot")
|
@GetMapping("/hot")
|
||||||
public Result<List<MusicDTO>> getHotMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<MusicDTO>> getHotMusic(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<MusicDTO> musicList = musicService.getHotMusic(limit);
|
List<MusicDTO> musicList = musicService.getHotMusic(limit);
|
||||||
@@ -113,6 +119,7 @@ public class MusicController {
|
|||||||
* @param size 每页大小
|
* @param size 每页大小
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/search")
|
@GetMapping("/search")
|
||||||
public Result<PageResult<MusicDTO>> searchMusic(
|
public Result<PageResult<MusicDTO>> searchMusic(
|
||||||
@RequestParam String keyword,
|
@RequestParam String keyword,
|
||||||
@@ -214,6 +221,7 @@ public class MusicController {
|
|||||||
* @param id 音乐ID
|
* @param id 音乐ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@PostMapping("/{id}/play")
|
@PostMapping("/{id}/play")
|
||||||
public Result<MusicDTO> playMusic(@PathVariable Long id) {
|
public Result<MusicDTO> playMusic(@PathVariable Long id) {
|
||||||
MusicDTO musicDTO = musicService.playMusic(id);
|
MusicDTO musicDTO = musicService.playMusic(id);
|
||||||
@@ -242,6 +250,7 @@ public class MusicController {
|
|||||||
* @param id 音乐ID
|
* @param id 音乐ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaCheckLogin
|
||||||
@GetMapping("/{id}/status")
|
@GetMapping("/{id}/status")
|
||||||
public Result<MusicStatusDTO> getMusicStatus(@PathVariable Long id) {
|
public Result<MusicStatusDTO> getMusicStatus(@PathVariable Long id) {
|
||||||
Long userId = StpUtil.getLoginIdDefaultNull() != null ? StpUtil.getLoginIdAsLong() : null;
|
Long userId = StpUtil.getLoginIdDefaultNull() != null ? StpUtil.getLoginIdAsLong() : null;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.test.musichouduan.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import com.test.musichouduan.dto.PageResult;
|
import com.test.musichouduan.dto.PageResult;
|
||||||
import com.test.musichouduan.dto.PlaylistDTO;
|
import com.test.musichouduan.dto.PlaylistDTO;
|
||||||
import com.test.musichouduan.dto.Result;
|
import com.test.musichouduan.dto.Result;
|
||||||
@@ -28,6 +29,7 @@ public class PlaylistController {
|
|||||||
* @param id 歌单ID
|
* @param id 歌单ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public Result<PlaylistDTO> getPlaylistById(@PathVariable Long id) {
|
public Result<PlaylistDTO> getPlaylistById(@PathVariable Long id) {
|
||||||
PlaylistDTO playlistDTO = playlistService.getPlaylistById(id);
|
PlaylistDTO playlistDTO = playlistService.getPlaylistById(id);
|
||||||
@@ -43,6 +45,7 @@ public class PlaylistController {
|
|||||||
* @param typeId 类型ID
|
* @param typeId 类型ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Result<PageResult<PlaylistDTO>> getPlaylistList(
|
public Result<PageResult<PlaylistDTO>> getPlaylistList(
|
||||||
@RequestParam(defaultValue = "1") Integer page,
|
@RequestParam(defaultValue = "1") Integer page,
|
||||||
@@ -59,6 +62,7 @@ public class PlaylistController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/latest")
|
@GetMapping("/latest")
|
||||||
public Result<List<PlaylistDTO>> getLatestPlaylist(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<PlaylistDTO>> getLatestPlaylist(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<PlaylistDTO> playlistList = playlistService.getLatestPlaylist(limit);
|
List<PlaylistDTO> playlistList = playlistService.getLatestPlaylist(limit);
|
||||||
@@ -71,6 +75,7 @@ public class PlaylistController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/hot")
|
@GetMapping("/hot")
|
||||||
public Result<List<PlaylistDTO>> getHotPlaylist(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<PlaylistDTO>> getHotPlaylist(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<PlaylistDTO> playlistList = playlistService.getHotPlaylist(limit);
|
List<PlaylistDTO> playlistList = playlistService.getHotPlaylist(limit);
|
||||||
@@ -85,6 +90,7 @@ public class PlaylistController {
|
|||||||
* @param size 每页大小
|
* @param size 每页大小
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/search")
|
@GetMapping("/search")
|
||||||
public Result<PageResult<PlaylistDTO>> searchPlaylist(
|
public Result<PageResult<PlaylistDTO>> searchPlaylist(
|
||||||
@RequestParam String keyword,
|
@RequestParam String keyword,
|
||||||
@@ -101,6 +107,7 @@ public class PlaylistController {
|
|||||||
* @param size 每页大小
|
* @param size 每页大小
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/official")
|
@GetMapping("/official")
|
||||||
public Result<PageResult<PlaylistDTO>> getOfficialPlaylist(
|
public Result<PageResult<PlaylistDTO>> getOfficialPlaylist(
|
||||||
@RequestParam(defaultValue = "1") Integer page,
|
@RequestParam(defaultValue = "1") Integer page,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.test.musichouduan.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import com.test.musichouduan.dto.PageResult;
|
import com.test.musichouduan.dto.PageResult;
|
||||||
import com.test.musichouduan.dto.Result;
|
import com.test.musichouduan.dto.Result;
|
||||||
import com.test.musichouduan.dto.SingerDTO;
|
import com.test.musichouduan.dto.SingerDTO;
|
||||||
@@ -28,6 +29,7 @@ public class SingerController {
|
|||||||
* @param id 歌手ID
|
* @param id 歌手ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public Result<SingerDTO> getSingerById(@PathVariable Long id) {
|
public Result<SingerDTO> getSingerById(@PathVariable Long id) {
|
||||||
SingerDTO singerDTO = singerService.getSingerById(id);
|
SingerDTO singerDTO = singerService.getSingerById(id);
|
||||||
@@ -43,6 +45,7 @@ public class SingerController {
|
|||||||
* @param typeId 类型ID
|
* @param typeId 类型ID
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public Result<PageResult<SingerDTO>> getSingerList(
|
public Result<PageResult<SingerDTO>> getSingerList(
|
||||||
@RequestParam(defaultValue = "1") Integer page,
|
@RequestParam(defaultValue = "1") Integer page,
|
||||||
@@ -61,6 +64,7 @@ public class SingerController {
|
|||||||
* @param size 每页大小
|
* @param size 每页大小
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/search")
|
@GetMapping("/search")
|
||||||
public Result<PageResult<SingerDTO>> searchSinger(
|
public Result<PageResult<SingerDTO>> searchSinger(
|
||||||
@RequestParam String keyword,
|
@RequestParam String keyword,
|
||||||
@@ -76,6 +80,7 @@ public class SingerController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/latest")
|
@GetMapping("/latest")
|
||||||
public Result<List<SingerDTO>> getLatestSinger(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<SingerDTO>> getLatestSinger(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<SingerDTO> singerList = singerService.getLatestSinger(limit);
|
List<SingerDTO> singerList = singerService.getLatestSinger(limit);
|
||||||
@@ -88,6 +93,7 @@ public class SingerController {
|
|||||||
* @param limit 限制数量
|
* @param limit 限制数量
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/hot-list")
|
@GetMapping("/hot-list")
|
||||||
public Result<List<SingerDTO>> getHotSinger(@RequestParam(defaultValue = "10") Integer limit) {
|
public Result<List<SingerDTO>> getHotSinger(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<SingerDTO> singerList = singerService.getHotSinger(limit);
|
List<SingerDTO> singerList = singerService.getHotSinger(limit);
|
||||||
@@ -101,6 +107,7 @@ public class SingerController {
|
|||||||
* @param avatar 头像文件
|
* @param avatar 头像文件
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@SaCheckRole("admin")
|
@SaCheckRole("admin")
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
public Result<SingerDTO> addSinger(
|
public Result<SingerDTO> addSinger(
|
||||||
@@ -118,6 +125,7 @@ public class SingerController {
|
|||||||
* @param avatar 头像文件
|
* @param avatar 头像文件
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@SaCheckRole("admin")
|
@SaCheckRole("admin")
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public Result<SingerDTO> updateSinger(
|
public Result<SingerDTO> updateSinger(
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.test.musichouduan.controller;
|
package com.test.musichouduan.controller;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import com.test.musichouduan.dto.*;
|
import com.test.musichouduan.dto.*;
|
||||||
import com.test.musichouduan.service.TypeService;
|
import com.test.musichouduan.service.TypeService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -23,6 +24,7 @@ public class TypeController {
|
|||||||
*
|
*
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@GetMapping("/music")
|
@GetMapping("/music")
|
||||||
public Result<List<MusicTypeDTO>> getMusicTypeList() {
|
public Result<List<MusicTypeDTO>> getMusicTypeList() {
|
||||||
List<MusicTypeDTO> typeList = typeService.getMusicTypeList();
|
List<MusicTypeDTO> typeList = typeService.getMusicTypeList();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.test.musichouduan.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||||
import cn.dev33.satoken.annotation.SaCheckRole;
|
import cn.dev33.satoken.annotation.SaCheckRole;
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.test.musichouduan.dto.*;
|
import com.test.musichouduan.dto.*;
|
||||||
import com.test.musichouduan.service.FileService;
|
import com.test.musichouduan.service.FileService;
|
||||||
@@ -34,6 +35,7 @@ public class UserController {
|
|||||||
* @param request 注册请求
|
* @param request 注册请求
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@Operation(summary = "用户注册", description = "新用户注册接口")
|
@Operation(summary = "用户注册", description = "新用户注册接口")
|
||||||
@PostMapping("/register")
|
@PostMapping("/register")
|
||||||
public Result<UserDTO> register(@Parameter(description = "注册信息") @Validated @RequestBody RegisterRequest request) {
|
public Result<UserDTO> register(@Parameter(description = "注册信息") @Validated @RequestBody RegisterRequest request) {
|
||||||
@@ -47,6 +49,7 @@ public class UserController {
|
|||||||
* @param request 登录请求
|
* @param request 登录请求
|
||||||
* @return 响应结果
|
* @return 响应结果
|
||||||
*/
|
*/
|
||||||
|
@SaIgnore
|
||||||
@Operation(summary = "用户登录", description = "用户登录接口,登录成功后返回用户信息和令牌")
|
@Operation(summary = "用户登录", description = "用户登录接口,登录成功后返回用户信息和令牌")
|
||||||
@PostMapping("/login")
|
@PostMapping("/login")
|
||||||
public Result<LoginResultDTO> login(@Parameter(description = "登录信息") @Validated @RequestBody LoginRequest request) {
|
public Result<LoginResultDTO> login(@Parameter(description = "登录信息") @Validated @RequestBody LoginRequest request) {
|
||||||
|
|||||||
Reference in New Issue
Block a user