tx

wangcx

栖迟於一丘,则天下不易其乐
18,326
Shiro 权限注解 Shiro 权限注解

Shiro提供了相应的注解用于权限控制,如果使用这些注解就需要使用AOP的功能来进行判断,如Spring AOP;
Shiro提供了Spring AOP集成用于权限注解的解析和验证。

@RequiresAuthentication

表示当前Subject已经通过login 进行了身份验证;即Subject.isAuthenticated()返回true。

@RequiresUse

表示当前Subject已经身份验证或者通过记住我登录的。

@RequiresGuest

表示当前Subject没有身份验证或通过记住我登录过,即是游客身份。

@RequiresRoles(value = {"admin", "user"}, logical = Logical.AND)
@RequiresRoles(value = {"admin"})
@RequiresRoles({"admin"})

表示当前Subject需要角色admin 和user。

@RequiresPermissions (value={“user:a”, “user:b”}, logical= Logical.OR)

表示当前Subject需要权限user:a或user:b。


Shiro的认证注解处理是有内定的处理顺序的,如果有多个注解的话,前面的通过了会继续检查后面的,若不通过则直接返回,处理顺序依次为(与实际声明顺序无关)

  1. RequiresRoles
  2. RequiresPermissions
  3. RequiresAuthentication
  4. RequiresUser
  5. RequiresGuest
    以上注解既可以用在controller中,也可以用在service中使用;
    建议将shiro注解放在controller中,因为如果service层使用了spring的事物注解,那么shiro注解将无效。
28 条评论
user 编辑评论信息
插入图片

隐私评论
  1. @
    UfJdVlzAEL 昨天 04:58
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  2. @
    UfJdVlzAEL 昨天 04:58
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  3. @
    UfJdVlzAEL 昨天 04:58
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  4. @
    UfJdVlzAEL 昨天 04:58
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  5. @
    LarrySeaps 2月21日
    Windows 10 · Chrome 120 · 乌克兰

    Hello from Sporthappy.

  6. @
    StevenNix 2月20日
    Windows 10 · Chrome 112 · 芬兰

    Вижте и страницата ми

    =3345re=

  7. @
    razumbobo 2月20日
    Windows 10 · Chrome 117 · 俄罗斯 莫斯科

    Ad fontes — К первоисточникам.

  8. @
    Carlosnix 2月19日
    Windows 10 · Chrome 110 · 奥地利

    Wedding Invitations, Wedding Video Invitation, Short Video Itvitation, Save the Date, Wedding Backdrop, Wedding Day Slideshow, Wedding Signs - Small

  9. @
    NerrySeaps 2月19日
    Windows 10 · Chrome 119 · 乌克兰

    Hello from Happykiddi.

  10. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  11. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  12. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  13. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  14. @
    DanielEnlah 2月17日
    Windows 10 · Chrome 121 · 俄罗斯

    Живопись лимона акварелью — увлекательный художественный процесс, который дает возможность вам создать яркое и подлинное изображение этого сочного фрукта. Начните с выбора ярких и насыщенных цветов гуаши для создания яркой палитры. Нанесите деликатный контур лимона на бумагу, используя пастель или тонкую кисть. Помните, что лимон обладает гладкой поверхностью, поэтому важно использовать краски с хорошей текучестью и просто создавать мягкие переходы между оттенками.

    Продолжайте добавлять элементы, такие как полутени и отсветы, чтобы придать вашему рисунку глубину и живость. Варьируйте яркость цветов, чтобы подчеркнуть черты лимона, такие как кислотный вкус и свет. Не забывайте о фоновой поверхности - он может быть абстрактным или воссоздавать окружение, например, зеленую листву или деревянную поверхность. Экспериментируйте с различными приемами и радуйтесь процессом создания своего изображения лимона на бумаге.

  15. @
    SamuelGax 2月16日
    Windows 10 · Chrome 121 · 沙特阿拉伯 Arabic Computer System Co.

    Chat freely and without restrictions.
    Join 100% Free.

  16. @
    ClydeTub 2月12日
    Windows 10 · Chrome 121 · 俄罗斯

    CUTE LITTLE GIRLS

    ==> s.yjm.pl/6N2Y <==

    ==> s.yjm.pl/6N2Y <==

    CUTE LITTLE GIRLS

  17. @
    pe1ymn 1月12日
    iPhone · Safari · 北美地区
    此条为悄悄话,仅发布者可见
  18. @
    Videoreign 2023年12月20日
    Windows 10 · Chrome 103 · 俄罗斯

    I visit every day some sites and information sites to read
    content, however this blog presents quality based posts.

    my page: текст ссылки

  19. @
    psyxlike 2023年11月26日
    Android · Chrome 84 · 俄罗斯 莫斯科

    Amicus cognoscitur amore, more, ore, re — Друг познаётся по любви, нраву, лицу, деянию.

  20. @
    Michaelzelry 2023年11月12日
    Windows 8.1 · Chrome 103 · 罗马尼亚

    very good