怎么做代理人金沙网站小程序商城免费

news/2025/10/3 9:25:30/文章来源:
怎么做代理人金沙网站,小程序商城免费,自己网站的关键词怎么改,推荐电子商务网站建设Shiro 整合 SpringBoot shiro主要有三大功能模块 Subject#xff1a;主体#xff0c;一般指用户。 SecurityManager#xff1a;安全管理器#xff0c;管理所有Subject#xff0c;可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Realms#xff1a;用于…Shiro 整合 SpringBoot shiro主要有三大功能模块 Subject主体一般指用户。 SecurityManager安全管理器管理所有Subject可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Realms用于进行权限信息的验证一般需要自己实现。 shiro架构图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PkoyMhpN-1610439982383)(C:\Users\郑大人\AppData\Roaming\Typora\typora-user-images\image-20200629142750768.png)] Subject 用户 SecurityManager 管理所有用户 Realm 连接数据Shiro入门 Shiro 配置 按步骤 先创建一个 Realms 类 继承自 AuthorizingRealm 类 实现它两个方法 授权 doGetAuthorizationInfo 和 认证 doGetAuthenticationInfo import com.entity.User; import com.service.impl.UserServiceImpl; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.*; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired;//自定义的UserRealm public class UserRealm extends AuthorizingRealm {AutowiredUserServiceImpl userService;//授权Overrideprotected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {System.out.println(执行了 授权);// 创建 简单授权信息类final SimpleAuthorizationInfo authorizationInfo new SimpleAuthorizationInfo();//获得当前的用户 当前的用户首先得被存入 简单身份验证信息类 构造函数的第一个参数中final Subject subject SecurityUtils.getSubject();User currentUser (User)subject.getPrincipal();//添加当前用户 字符串权限authorizationInfo.addStringPermission(currentUser.getPerms());return authorizationInfo;}//认证Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {System.out.println(执行了 认证 );UsernamePasswordToken token (UsernamePasswordToken)authenticationToken;// 用户名密码 从数据库中取User user userService.qureyUserByName(token.getUsername());if(user null){return null; //抛出异常 UnknownAccountException 未知账户异常}//密码认证 由 shiro 来完成,加密了//返回 简单身份验证信息类return new SimpleAuthenticationInfo(user,user.getPassword(),);} }创建一个Shiro的配置类里面向spring容器注入三个Bean 分别是: ShiroFilterFactoryBean: 用来设置 过滤器以及权限登录页未授权跳转页等等.(需要给方法传入安全管理器 DefaultWebSecurityManager对象)DefaultWebSecurityManager: DefaultWebSecurityManager类主要定义了设置subjectDao获取会话模式设置会话模式设置会话管理器是否是http会话模式等操作它继承了DefaultSecurityManager类实现了WebSecurityManager接口。Realms 自定义的类 import at.pollux.thymeleaf.shiro.dialect.ShiroDialect; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map;Configuration public class ShiroConfig {//ShiroFilterFactoryBean :3Beanpublic ShiroFilterFactoryBean getShiroFilterFactoryBean(Qualifier(SecurityManager)DefaultWebSecurityManager defaultWebSecurityManager){final ShiroFilterFactoryBean bean new ShiroFilterFactoryBean();// 设置安全管理器bean.setSecurityManager(defaultWebSecurityManager);//添加shiro的内置过滤器 拦截/*** anon:无需认证即可访问* authc必须认证才可以访问* user必须拥有记住我 功能才可以用* perms拥有对某个资源的权限才能访问* role拥有某个角色权限才能访问*///拦截MapString,String filterMap new LinkedHashMap();filterMap.put(/add,authc); //也可支持通配符 *filterMap.put(/update,authc);//授权 perms[a:b] 必须是a 且有权限bfilterMap.put(/add,perms[user:add]);filterMap.put(/update,perms[user:update]);//设置过滤器链定义图bean.setFilterChainDefinitionMap(filterMap);//设置登录页面,即如果没有权限就会跳转至登录页面bean.setLoginUrl(/toLogin);//设置未授权跳转页面的urlbean.setUnauthorizedUrl(/unauthorized);return bean;}//DefaultWebSecurityManager:2Bean(name SecurityManager)public DefaultWebSecurityManager getDefaultWebSecurityManager(Qualifier(userRealm) UserRealm userRealm){final DefaultWebSecurityManager defaultWebSecurityManager new DefaultWebSecurityManager();//关联 UserRealmdefaultWebSecurityManager.setRealm(userRealm);return defaultWebSecurityManager;}//创建 realm 对象 需要自定义 :1Bean(name userRealm)public UserRealm getRealm(){return new UserRealm();}}登录 RequestMapping(/login)public String login(RequestParam(name username) String username,RequestParam(name password) String password,Model model){//获取当前用户final Subject subject SecurityUtils.getSubject();//封装用户的登录数据final UsernamePasswordToken token new UsernamePasswordToken(username, password);try {//执行登录的方法 如果没有异常就ok了//执行登录时会进入Realm中认证subject.login(token);return index;} catch (AuthenticationException e) {model.addAttribute(msg,用户名或密码错误!);return login;}}注销 /*** 退出用户* return*/RequestMapping(/logout)public String logout(){final Subject subject SecurityUtils.getSubject();//退出用户subject.logout();return index;}Shiro整合 Thymeleaf 依赖 !-- https://mvnrepository.com/artifact/com.github.theborakompanioni/thymeleaf-extras-shiro -- dependencygroupIdcom.github.theborakompanioni/groupIdartifactIdthymeleaf-extras-shiro/artifactIdversion2.0.0/version /dependency 整合配置 Shiro整合 Thymeleaf 需要在配置类中加入一个Bean 到 spring容器这个类是 ShiroDialect Configuration public class ShiroConfig {//用来整合 thymeleafBeanpublic ShiroDialect getShiroDialect(){return new ShiroDialect();}//ShiroFilterFactoryBean :3Beanpublic ShiroFilterFactoryBean getShiroFilterFactoryBean(Qualifier(SecurityManager)DefaultWebSecurityManager defaultWebSecurityManager){final ShiroFilterFactoryBean bean new ShiroFilterFactoryBean();// 设置安全管理器bean.setSecurityManager(defaultWebSecurityManager);//添加shiro的内置过滤器 拦截/*** anon:无需认证即可访问* authc必须认证才可以访问* user必须拥有记住我 功能才可以用* perms拥有对某个资源的权限才能访问* role拥有某个角色权限才能访问*///拦截MapString,String filterMap new LinkedHashMap();filterMap.put(/add,authc); //也可支持通配符 *filterMap.put(/update,authc);//授权 perms[a:b] 必须是a 且有权限bfilterMap.put(/add,perms[user:add]);filterMap.put(/update,perms[user:update]);//设置过滤器链定义图bean.setFilterChainDefinitionMap(filterMap);//设置登录页面,即如果没有权限就会跳转至登录页面bean.setLoginUrl(/toLogin);//设置未授权跳转页面的urlbean.setUnauthorizedUrl(/unauthorized);return bean;}//DefaultWebSecurityManager:2Bean(name SecurityManager)public DefaultWebSecurityManager getDefaultWebSecurityManager(Qualifier(userRealm) UserRealm userRealm){final DefaultWebSecurityManager defaultWebSecurityManager new DefaultWebSecurityManager();//关联 UserRealmdefaultWebSecurityManager.setRealm(userRealm);return defaultWebSecurityManager;}//创建 realm 对象 需要自定义 :1Bean(name userRealm)public UserRealm getRealm(){return new UserRealm();}}html !DOCTYPE html html langen xmlns:thhttp://www.thymeleaf.org xmlns:shirohttp://www.thymeleaf.org/thymeleaf-extras-shiro !-- shiro 整合 thymeleaf 的提示-- headmeta charsetUTF-8title首页/title /head body h1首页/h1 pa href/toLogin登录/a/p pa href/logout退出/a/p hrdiv shiro:hasPermissionuser:add !--判断权限--a th:href{/add}add/a /div div shiro:hasPermissionuser:updatea th:href{/update}update/a /div/body /html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年热压机厂家 TOP 企业品牌推荐排行榜,深度剖析河北热压机,廊坊热压机,霸州热压机推荐这十家公司!

引言在人造板产业快速发展的当下,热压机作为板材加工环节的关键设备,其品质与性能直接影响企业的生产效率、产品质量及综合成本。然而,当前市场上热压机制造商数量众多,产品质量参差不齐,部分厂家存在技术研发能力…

【Anthropic好文】AI 代理的高效上下文工程

AI 代理的高效上下文工程来源:https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents 获取时间:2025-10-02 14:57:58 UTC在应用型 AI 领域经历了几年以提示工程为关注焦点之后,一个新…

AI与敏捷开发管理系列3:敏捷方法在AI计划中的应用案例

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

青岛专业餐饮网站制作湖北网站建设xiduyun

问:上海居转户的中级职称是必备条件,软考中级算中级职称么?上海居住证积分网陈老师回答:算的,上海居转户承认软考中级或高级证书,当然,软考中级也同样适合居住证积分。软考中级哪个好&#xff1…

营销型网站优势wordpress 版本

手动部署 1.在IDEA写一个有关springboot项目 在windows客户端可以通过localhost:8080/hello 访问 2.用packge 命令将该springboot项目打包 并在target目录下找到打包的jar包 3.上传到linux上 个人习惯在usr/local/app 下上传该项目 创建切换到app目录下 mkdir /usr/local/ap…

宁波网站推广方式怎么样网推是干嘛的

很久没写博客了,闭关太久,失踪人口回归,给诸位道友整点绝活。 交代下背景:要做一个行转列的汇总统计,而且,由于是行转列,列的数量不固定,所以,没法使用正常的SqlSugar框…

哈尔滨网站开发建设公司免费手机app制作软件

两阶段提交2PC是分布式事务中最强大的事务类型之一,两段提交就是分两个阶段提交: 第一阶段询问各个事务数据源是否准备好。第二阶段才真正将数据提交给事务数据源。 为了保证该事务可以满足ACID,就要引入一个协调者(Cooradinator…

请求分页管理方式

请求分页存储管理与基本分页存储管理的主要区别: 请求调页:在程序执行的过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存 页面置换:若空间不够,由操作系统将内存中暂时用不到的信息换出…

vim中leader和localleader对比

在 Vim 和 Neovim 中,<leader> 和 <localleader> 是两个特殊的键位前缀,用于定义快捷键。它们的作用是让用户能够方便地扩展和自定义快捷键,同时避免与默认的 Vim 命令或其他插件的快捷键冲突。 <le…

详细介绍:[论文阅读] AI + 软件工程 | 从“事后补救”到“实时防控”,SemGuard重塑LLM代码生成质量

详细介绍:[论文阅读] AI + 软件工程 | 从“事后补救”到“实时防控”,SemGuard重塑LLM代码生成质量pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

2025 年转基因小鼠公司 TOP 企业品牌推荐排行榜,传统 KO 转基因小鼠,条件性 cKO 转基因小鼠,ROSA26 位点基因 KI 小鼠,Tol2 转基因小鼠模型,点突变敲入转基因小鼠公司推荐!

在生物医药研发领域,转基因小鼠作为关键的实验模型,在靶点验证、药物筛选、药效评估等环节发挥着不可替代的作用。随着全球新药研发进程的加速,科研机构与药企对转基因小鼠的需求持续增长,但市场上品牌众多,模型质…

2025 年人源化小鼠公司 TOP 企业品牌推荐排行榜,基因,免疫系统,抗体,临床前 CRO 型,基因,精准医疗型,创新型人源化小鼠,人源化小鼠动物模型公司推荐!

在生物医药研发领域,人源化小鼠作为临床前研究的核心工具,其模型质量、技术创新性与服务适配性直接影响药物研发效率与成功率。当前行业面临多重挑战:部分企业模型种类单一,难以满足肿瘤、自免、代谢等多疾病领域研…

国产GPU/AI芯片第三篇 - 沐曦

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087趁着假期,研究了一下国产GPU/AI芯片第三家公司 - 上海沐曦。与大家…

2025防撞护栏厂家 TOP 企业品牌推荐排行榜,铝合金,Q235 桥梁,Q355B 桥梁,景观桥梁,灯光桥梁,河道桥梁,公路桥梁,喷塑桥梁,道路桥梁防撞护栏公司推荐!

在当前交通基础设施建设持续推进的背景下,防撞护栏作为保障道路与桥梁安全的关键设施,其市场需求不断攀升。然而,市场上防撞护栏生产厂家数量众多,产品质量、生产能力、服务水平却参差不齐,给采购方带来了诸多选择…

摩尔线程之后,看燧原科技,相关公司梳理

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087以下是基于公开信息整理的,与燧原科技有业务往来的一些公司。仅作…

2017年网站建设公司三优科技 网站开发

软件的生命周期 软件生命周期是软件开始研制到最终被废弃不用所经历的各个阶段。 瀑布型生命周期模型 规定了它们自上而下、相互衔接的固定次序&#xff0c;如同瀑布流水&#xff0c;逐级下落&#xff0c;具有顺序性和依赖性。每个阶段规定文档并需进行评审。 特点&#xff…

读人形机器人29未来10年

读人形机器人29未来10年1. 预期的技术进步 1.1. 增强的AI和机器学习1.1.1. 益于AI和机器学习算法的显著改进,人形机器人将实现更复杂的决策、自适应学习和自主解决问题1.1.2. 先进的自然语言处理技术将使对话更加流畅…

黄页网站代码有哪些做兼职的设计网站有哪些工作内容

在设计3D展览模型时&#xff0c;灯光的运用至关重要。合理的空间灯光设计不仅能够烘托展品的氛围和情感&#xff0c;还可以引导观众的视线&#xff0c;增强展览的艺术感和观赏性。本文将介绍如何在3D展览模型中打造出合适的空间灯光效果&#xff0c;以提升展览的吸引力和视觉效…

网站开发和app开发百度一下点击搜索

二叉树的非递归遍历 文章目录 二叉树的非递归遍历前序遍历-栈层序遍历-队列中序遍历-栈后序遍历-栈 前序遍历-栈 首先我们应该创建一个Stack 用来存放节点&#xff0c;首先我们想要打印根节点的数据&#xff0c;此时Stack里面的内容为空&#xff0c;所以我们优先将头结点加入S…

美色商城 网站建设沈阳网站制作思路

文章目录 认识JSX为什么React选择了JSXJSX的使用 React事件绑定this的绑定问题事件参数传递 React条件渲染React列表渲染列表中的key JSX的本质createElement源码Babel官网查看直接编写jsx代码 虚拟DOM的创建过程jsx – 虚拟DOM – 真实DOM声明式编程 阶段案例练习 认识JSX ◼ …