Shiro 使用示例

这里是本文源码Gitee地址, 示例的基础上,我们进行修改,增加 Shiro 注解的使用。

在 [com.erbadagang.springboot.shiro.controller]包路径下,创建 [DemoController]类,提供示例 API 接口。代码如下:

package com.erbadagang.springboot.shiro.controller;

import org.apache.shiro.authz.annotation.RequiresGuest;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/demo")
public class DemoController {

    @RequiresGuest
    @GetMapping("/echo")
    public String demo() {
        return "示例返回";
    }

    @GetMapping("/home")
    public String home() {
        return "我是首页";
    }

    @RequiresRoles("ADMIN")
    @GetMapping("/admin")
    public String admin() {
        return "我是管理员";
    }

    @RequiresRoles("NORMAL")
    @GetMapping("/normal")
    public String normal() {
        return "我是普通用户";
    }

}

按照如上的说明,进行各种测试。例如说,去访问 http://localhost:8080/demo/admin 接口,提示登录,登录「normal/normal」用户后,会返回无权限的提示。



上一篇:SpringMVC 接受请求数据


下一篇:springcloud-api