ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Shiro 如何使用注解式进行授权操作呢?

2022-07-27 06:31:11  阅读:205  来源: 互联网

标签:验证 RequiresUser 授权 注解 true Shiro subject


转自:

http://www.java265.com/JavaCourse/202201/2169.html

下文笔者讲述Shiro进行注解式授权操作的方法分享,如下所示:

Shiro注解授权,常使用以下注解字段,如:
  RequiresRoles/RequiresPermissions/RequiresAuthentication/RequiresUser等 

@RequiresAuthentication

当前Subject已经在session中验证通过(验证当前用户是否登录:subject.isAuthenticated() 结果为true)

@RequiresUser

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

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

@RequiresGuest

用户没有登录认证或被记住过,验证是否是一个guest的请求,与@RequiresUser完全相反。换言之,RequiresUser == !RequiresGuest。此时subject.getPrincipal() 结果为null.

@RequiresPermissions

验证用户是否具有一个或多个权限,该注解将会经常在项目中使用,如果不满足条件则抛出AuthorizationException异常

  1.是否具有某一权限@RequiresPermission("account:create")
  2.是否具有多个权限@RequiresPermission({"account:create","account:update"})

@RequiresRoles

验证当前用户是否具有某角色,与验证权限类似

@RequiresRoles("super")

public string addAdmin(String username,String pwd){
	return adminService.addAdmin(username,pwd);
}

标签:验证,RequiresUser,授权,注解,true,Shiro,subject
来源: https://www.cnblogs.com/java265/p/16523337.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有