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

比较好看的网站做留言的网站

比较好看的网站,做留言的网站,网站建设费 无形资产,asp.net制作网站开发背景#xff1a; 本章将进一步的落地实践学习#xff0c;在springboot中如何去整合shrio#xff0c;整个过程步骤有个清晰的了解。 利用Shiro进行登录认证主要步骤#xff1a; 1. 添加依赖#xff1a;首先#xff0c;在pom.xml文件中添加Spring Boot和Shiro的相关依赖… 背景 本章将进一步的落地实践学习在springboot中如何去整合shrio整个过程步骤有个清晰的了解。 利用Shiro进行登录认证主要步骤 1. 添加依赖首先在pom.xml文件中添加Spring Boot和Shiro的相关依赖。 !-- Spring Boot -- dependency     groupIdorg.springframework.boot/groupId     artifactIdspring-boot-starter-web/artifactId /dependency !-- Shiro -- dependency     groupIdorg.apache.shiro/groupId     artifactIdshiro-spring-boot-starter/artifactId     version1.7.1/version /dependency 2. 创建Shiro配置类创建一个ShiroConfig类用于配置Shiro的相关信息和组件。对于配置的解释和作用见第三章杂谈 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Configuration public class ShiroConfig {     // 配置安全管理器     Bean     public DefaultWebSecurityManager securityManager() {         DefaultWebSecurityManager securityManager  new DefaultWebSecurityManager();         securityManager.setRealm(myRealm());         return securityManager;     }     // 配置自定义Realm     Bean     public MyRealm myRealm() {         return new MyRealm();     }     // 配置Shiro过滤器     Bean     public ShiroFilterFactoryBean shiroFilterFactoryBean() {         ShiroFilterFactoryBean shiroFilterFactoryBean  new ShiroFilterFactoryBean();         shiroFilterFactoryBean.setSecurityManager(securityManager());         shiroFilterFactoryBean.setLoginUrl(/login); // 设置登录页面         shiroFilterFactoryBean.setUnauthorizedUrl(/unauthorized); // 设置未授权页面         MapString, String filterChainDefinitionMap  new LinkedHashMap();         // 允许匿名访问的路径         filterChainDefinitionMap.put(/login, anon);         filterChainDefinitionMap.put(/static/**, anon);         // 需要认证才能访问的路径         filterChainDefinitionMap.put(/**, authc);         shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);         return shiroFilterFactoryBean;     } } 3. 创建自定义Realm创建一个MyRealm类继承AuthorizingRealm并实现相关方法用于处理认证和授权逻辑 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 public class MyRealm extends AuthorizingRealm {     // 处理认证逻辑     Override     protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {         // 从token中获取用户名         String username (String) authenticationToken.getPrincipal();         // 模拟从数据库或其他存储中获取用户信息         // 例如从数据库中查询用户信息并返回         String dbPassword  123456; // 假设从数据库中查询的密码是123456         // 返回认证信息包括用户名和密码         return new SimpleAuthenticationInfo(username, dbPassword, getName());     }     // 处理授权逻辑     Override     protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {         // 从PrincipalCollection中获取用户名         String username (String) principalCollection.getPrimaryPrincipal();         // 模拟从数据库或其他存储中获取用户角色和权限信息         // 例如从数据库中查询用户对应的角色和权限并返回         SetString roles  new HashSet();         roles.add(admin); // 假设用户拥有admin角色         SetString permissions  new HashSet();         permissions.add(user:read); // 假设用户拥有user:read权限         // 创建授权信息         SimpleAuthorizationInfo authorizationInfo  new SimpleAuthorizationInfo();         authorizationInfo.setRoles(roles);         authorizationInfo.setStringPermissions(permissions);         return authorizationInfo;     } } 4. 创建登录接口和登录页面创建一个登录接口处理用户的登录请求 Controller public class LoginController {     GetMapping(/login)     public String login() {         return login;     }     PostMapping(/login)     public String doLogin(String username, String password) {         // 执行登录逻辑         Subject currentUser SecurityUtils.getSubject();         UsernamePasswordToken token new UsernamePasswordToken(username, password);         try {             currentUser.login(token); // 执行登录             return redirect:/home; // 登录成功后跳转到首页         } catch (AuthenticationException e) {             return redirect:/login-error; // 登录失败后跳转到错误页面         }     } } 整体的执行流程 用户在浏览器中访问登录页面输入用户名和密码并点击登录按钮。 Controller层的LoginController类中的doLogin方法被调用该方法接收用户名和密码作为参数。 创建一个Subject对象该对象代表当前正在与应用程序交互的用户。 创建一个UsernamePasswordToken对象将用户名和密码设置为该对象的属性。 调用Subject对象的login方法将UsernamePasswordToken对象作为参数传递进去。 Subject对象将UsernamePasswordToken对象传递给Shiro进行认证。 Shiro框架会调用MyRealm类中的doGetAuthenticationInfo方法该方法用于处理认证逻辑。 在doGetAuthenticationInfo方法中从UsernamePasswordToken对象中获取用户名。 可以根据需要从数据库或其他存储中获取与用户名对应的用户信息例如密码等。 将获取到的用户信息与UsernamePasswordToken对象中的密码进行比较判断用户是否通过认证。 如果认证成功创建一个SimpleAuthenticationInfo对象将用户名、数据库中的密码和Realm名称作为参数传递给它。 SimpleAuthenticationInfo对象会被返回给Shiro框架表示认证成功。 Shiro框架会将认证成功的信息保存在Subject对象中。 如果认证失败将抛出AuthenticationException异常。 在doLogin方法中通过捕获AuthenticationException异常可以处理登录失败的情况例如重定向到登录失败页面。 如果登录成功可以根据需要执行一些操作例如重定向到首页或其他需要登录后才能访问的页面。 总结起来整个执行流程如下 用户输入用户名和密码并提交登录表单。Controller层的LoginController类中的doLogin方法接收到登录请求。创建Subject对象代表当前用户。创建UsernamePasswordToken对象将用户名和密码设置为其属性。调用Subject对象的login方法将UsernamePasswordToken对象作为参数传入。Shiro框架调用MyRealm类中的doGetAuthenticationInfo方法处理认证逻辑。在doGetAuthenticationInfo方法中获取用户名和密码并与数据库中的信息进行比较。如果认证成功返回一个SimpleAuthenticationInfo对象表示认证通过。如果认证失败抛出AuthenticationException异常。在doLogin方法中根据认证结果执行相应的操作例如重定向到登录成功页面或登录失败页面。 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 行动吧在路上总比一直观望的要好未来的你肯定会感谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入群 731789136里面有各种测试开发资料和技术可以一起交流哦。 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.hkea.cn/news/14315248/

相关文章:

  • vs2008做网站教程wordpress的ip有什么用
  • 网站建设网站排行盐城哪家做网站的正规
  • 网站备案核验单怎么选云南人事考试网官网
  • 优秀网站介绍网站备案在哪里备案
  • 网站建设服务商的网站建设流程wordpress调用2个表
  • asp网站显示空白深圳东门动漫城
  • 垂直网站建设步骤做网站公司汉狮价格
  • 美食城网站建设策划书网站功能模块图
  • 怎么在携程旅行做网站兰溪市建设局官方网站
  • 建微信网站模板指数运算法则
  • 徐州手机网站推广公司哪家好网站建设一般怎么付款
  • php 开源企业网站杭州房价暴跌已开始
  • 公司要想做个网站这么弄什么 的提升自己的网站
  • 什么网站做新产品代理购物网站建设技术难点
  • 文字域名可以做网站网站幻灯片效果
  • 青海农业网站建设公司建设网站的虚拟机配置
  • 用阳寿做交易的网站莱芜建设银行网站
  • 天津网站建设制作系统wordpress免费有趣插件
  • 吉林省建设部网站wordpress主题 大前端 阿里百秀 xiu
  • 免费制作网站app有中文网站 怎么做英文网站
  • 微信公众号小说代理和网站结合怎么做网站做优化公司
  • 自己做网站平台吕梁网站制作吕梁安全
  • 网站设计展示Wordpress不能修改导航名称
  • 化妆品网站建设的维护兰州市新闻头条
  • 企业建站找哪家小程序开发公司网站源码下载
  • 8211 wordpress网站框架优化
  • 凡科网做网站如何推广如何规避电子政务门户网站建设教训
  • 做动图素材网站优化大师网页版
  • 有域名和主机怎么做网站收费的网站如何免费
  • 传媒公司网站建设思路seo职位