当前位置: 首页 > news >正文

苏州华亭建设工程有限公司网站丹东供求园

苏州华亭建设工程有限公司网站,丹东供求园,做网站需要的硬件,做一个企业的网站怎么做的整合ShiroJwt大体思路 springboot整合shiro大体上的思路#xff1a; 1.自定义一个类Realm extends AuthorizingRealm{} 主要是对token授权和认证 重写2个方法 doGetAuthorizationInfo //授权 doGetAuthenticationInfo //认证 认证 代码中手动加上对token校验的判断2.自…整合ShiroJwt大体思路 springboot整合shiro大体上的思路 1.自定义一个类Realm extends AuthorizingRealm{} 主要是对token授权和认证 重写2个方法 doGetAuthorizationInfo //授权 doGetAuthenticationInfo //认证 认证 代码中手动加上对token校验的判断 2.自定义一个Configuration类ShiroConfig ShiroConfig类主要做3个事情 将自定义的Realm注册bean 将realm对象与securityManager对象关联   securityManager.setRealm(realm); 将securityManager对象与ShiroFilterFactoryBean对象关联 shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager); 3.整合jwt 先定义公共类JwtUtils 其中定义三个方法 作用分别为token生成  token校验  token是否过期 在realm类的认证doGetAuthenticationInfo方法中调用JwtUtils解析token和登录用户是否满足条件 满足则返回AuthenticationInfo对象 对象中包含profile token name (只需要定义个profile就好了  profile就是登录的用户信息  可以再定义一个用户实体类  把用户信息放入实体类中那这个对象类就是profile) 边学边整理思路  详细的得边敲边看代码 Shiro整合JWT的两种方式 1.通过URL进行权限控制 配置方式 在Shiro的配置文件通常是shiro.ini或shiro-config.xml中配置URL路径与权限的映射关系。这个配置指定了哪些URL需要哪些权限。 !-- shiro.ini或shiro-config.xml配置示例 -- property namefilterChainDefinitions!-- URL路径与权限的映射关系 --/admin/** roles[admin], perms[user:delete]/user/** authc /property代码示例 在Java代码中只需配置Shiro的FilterChainDefinitionMap将URL路径和权限映射起来。 MapString, String filterChainDefinitionMap new LinkedHashMap(); filterChainDefinitionMap.put(/admin/**, roles[admin]); filterChainDefinitionMap.put(/user/**, authc);特点 静态配置权限规则在配置文件中静态定义不易动态改变。适用于简单的权限需求不需要频繁修改权限规则。 2.通过注解进行权限控制 配置方式 在需要进行权限控制的Controller类或方法上使用Shiro提供的注解如RequiresRoles和RequiresPermissions。 Controller RequestMapping(/admin) public class AdminController {RequiresRoles(admin)GetMapping(/view)public String adminView() {// 处理业务逻辑return admin/view;} }特点 动态控制权限规则可以根据方法的注解动态变化不需要重新配置。精细控制可以根据方法级别的注解进行更精细的权限控制。 3.配置文件和注解的关系 在项目中通常会将基本的URL路径与权限的映射关系配置在配置文件中这些是项目的基础权限。然后通过注解在Controller中进行更精细的权限控制例如限制某个Controller的某个方法需要特定的角色或权限。 !-- shiro.ini或shiro-config.xml配置示例 -- property namefilterChainDefinitions!-- URL路径与基本权限的映射关系 --/admin/** roles[admin], perms[user:delete]/user/** authc /propertyController RequestMapping(/admin) public class AdminController {RequiresRoles(admin)GetMapping(/view)public String adminView() {// 处理业务逻辑return admin/view;} }这种组合方式可以实现项目中灵活的权限控制基本权限由配置文件定义而特殊权限由注解在代码中控制使得权限管理更加清晰和可维护。 通过这种组合方式您可以在项目中实现动态和精细的权限管理同时保持基本权限的静态配置以适应不同的权限需求。 对比说明 1. 通过URL进行权限控制 首先配置Shiro的过滤器和URL拦截规则然后在控制器中添加注解。 Shiro配置文件 (shiro.ini 或 shiro-config.xml): !-- 配置JWTFilter用于处理JWT的生成、解析和验证 -- bean idjwtFilter classcom.example.JWTFilter/bean!-- 配置Shiro过滤器链 -- filter-mappingsfilter-namejwtFilter/filter-nameurl-pattern/api/**/url-pattern /filter-mappings控制器 (AdminController.java): Controller RequestMapping(/admin) public class AdminController {// 需要admin:view权限才能访问GetMapping(/view)public String view() {return admin/view;}// 其他业务方法 }2. 通过注解进行权限控制 在控制器方法上添加Shiro的注解来声明需要的角色或权限。 控制器 (AdminController.java): Controller RequestMapping(/admin) public class AdminController {RequiresPermissions(admin:view) // 使用注解声明需要admin:view权限GetMapping(/view)public String view() {return admin/view;}// 其他业务方法 }上述代码演示了通过URL控制和通过注解控制权限的两种方式。通过URL控制更加基于URL模式适用于相对简单的权限需求可以在配置文件中进行集中管理。通过注解控制更加直观能够明确指定每个方法的权限要求适用于需要细粒度控制的情况。 合二为一 Shiro配置文件 (shiro.ini 或 shiro-config.xml): !-- 配置JWTFilter用于处理JWT的生成、解析和验证 -- bean idjwtFilter classcom.example.JWTFilter/bean!-- 配置Shiro过滤器链 -- filter-mappingsfilter-namejwtFilter/filter-nameurl-pattern/api/**/url-pattern /filter-mappings控制器 (AdminController.java):(注意两种方式代码基本一致只是注释有区别) Controller RequestMapping(/admin) public class AdminController {RequiresPermissions(admin:view) // 使用注解声明需要admin:view权限GetMapping(/view)public String view() {return admin/view;}// 其他业务方法例如编辑管理员信息需要admin:edit权限RequiresPermissions(admin:edit)GetMapping(/edit)public String edit() {return admin/edit;}// 删除管理员需要admin:delete权限RequiresPermissions(admin:delete)GetMapping(/delete)public String delete() {return admin/delete;}// 其他业务方法 }在上述示例中我们添加了更多的业务方法如编辑管理员信息和删除管理员并使用Shiro的RequiresPermissions注解明确指定每个方法需要的权限要求。例如edit方法需要admin:edit权限delete方法需要admin:delete权限。
http://www.w-s-a.com/news/326573/

相关文章:

  • 视频做网站长沙网站制作平台
  • js网站建设北京seo公司优化网络可见性
  • 付款网站源码建网站卖东西
  • 用php做的录入成绩的网站wordpress等级插件
  • 网站运营优化方案广西桂林公司
  • 快递网站策划怎么做ppt长春建设信息网站
  • 做服装搭配图的网站有哪些经营一个网站要怎么做
  • 呼市品牌网站建设那家好增城住房和建设局网站
  • 网站首页布局设计代码太仓网站开发建设服务
  • 学校网站建设与管理porto wordpress模板
  • 余姚做网站公司网站建设有哪些基本流程
  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗
  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路