您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

阿帕奇·希罗10分钟入门教程 <影视源码>

  • 时间:2022-08-26 23:10 编辑: 来源: 阅读:284
  • 扫一扫,手机访问
摘要:阿帕奇·希罗10分钟入门教程 <影视源码>
阿帕奇·希罗10分钟入门教程-翻译崔传信1。欢迎来到阿帕奇·希罗的10分钟教程!通过阅读这个快速简单的教程,你将完全理解开发者如何在他们的应用程序中使用Shiro。 你应该能在10分钟内完成。 2.概述什么是阿帕奇·希罗?阿帕奇·希罗是一个功能强大且易于使用的Java安全框架,它为开发人员提供了一个直观、全面的认证、授权、加密和会话管理解决方案。 事实上,它实现了管理应该使用的程序的安全性的所有方面,同时尽可能地避免问题。 它基于完美的界面驱动设计和面向对象准则,可以在你能想象到的任何地方实现自己的设置行为。 但是,默认情况下一切都是正当的,这与使用程序安全性是一样的。 至少这是我们所追求的。 阿帕奇·希罗能做什么?许多 但是我们不想扩大“快速启动”的内容 如果你想知道它能为你做什么,请查看我们的工作页面。 另外,如果你很好奇我们是怎么开始的,为什么会存在,可以参考Shiro历史与使命页面。 好了,现在我们来做几件事!说明:Shiro可以在任何环境下运行,从最简单的命令行应用程序到最大的企业Web和集群应用程序,但我们将使用一个简单的“main”方法来完成本快速入门中最简单的示例,从而获得API应用的经验。 3.下载1)确保你有JDK1.6+和Maven 3.0.3+ 2)从下载页面下载最新的Shiro“源代码分发”包 在本例中,我们使用1.3.2版本。 3)解压源代码包$ unzishiro-root-1 . 3 . 2-source-release . zip 4)进入quickstart目录$ CD Shiro-root-1 . 3 . 2/samples/quick start 5)运行QuickStart $ MVN编译执行:Java的这个目标只会打印出少量的日志消息,让你知道发生了什么,然后退出——(主要的Maven构建过程包括下载少量的相关组件,下载后在下次运行时不会再下载) 阅读本快速入门指南时,请随意检查samples/Quick Start/src/main/Java/Quick Start . Java下的代码。 根据需要修改文件,并运行上面的mvn compile exec:java命令。 注:我这里运行体验是在windows8平台下,环境是JDK 1.8+Maven 3.5;步骤同上 为了知道运行结果,我在源代码启动前加了一行代码观察效果:log.info ("\ n = = = =这是quik start exampel.it is done!====");//添加代码行的结果表明意图:4。上面引用的Quickstart.java的Quickstart.java文件包含了可以帮助你熟悉API的所有代码。 现在我们把它分成大块,这样你就很容易明白发生了什么。 在几乎所有的环境下,都可以得到当前正在执行的用户:subjectcurrentuser = securit utils . get subject();通过SecurityUtils.getSubject(),我们可以获得当前正在执行的主题。 只有主体应该使用程序使用户的特定安全“视图” 我们实际上想称之为“7”。用户(生成用户)>,因为这是“合理的”,但是我们决定不去做:太多应该使用的应用已经有了现有的API,它们已经有了自己的用户类/框架,我们不想和这些API冲突。 另外,在安全领域,Subject这个术语实际上是一个公认的命名法。 好,继续...在应用程序中独立使用getSubject(),是否可以根据应用程序特定的位置和服务器环境(如Web应用程序)中的用户数据返回对应的Subject,根据当前线程或传入请求关联的用户数据获取Subject。 现在你有了一个主题,你能用它做什么?如果想在应用程序当前会话期间为用户提供可用的内容,可以获取他们的session:session session = currentuser . getsession();session.setAttribute( "someKey "," aValue ");会话是特定于Shiro的实例。它为您提供了您习惯的大多数常规HttpSession实例,但是还有一些额外的好处和一个很大的不同:它不需要HTTP环境!如果Web应该使用程序内部署,默认情况下,会话将基于HttpSession。 然而,在非web环境中,就像这个简单的快速入门一样,Shiro将默认自动使用其企业会话管理。 这意味着无论部署环境如何,您都可以在应该使用的应用程序的任何层中使用相同的API。 这将打开一个全新的应用程序世界,因为任何需要会话的应用程序都不需要强制HttpSession或EJB有状态会话Beans。 此外,任何客户端技术现在都可以共享会话数据。 所以现在你可以得到一个主题和他们的会话。 真正有用的是什么,比如检查他们能不能做事,比如检查角色和权限?然后,我们只能对已知用户执行这些检查。 上面的Subject实例代表了当前用户,但是谁是当前用户呢?实际上,他们是匿名的——也就是说,直到他们至少登录一次。 所以,我们这么办:如果(!currentuser . is authenticated(){//以gui特有的方式收集用户主体和凭证——主体和凭证//如html表单的用户名/密码、X509证书、OpenID等。 //我们将在这里使用用户名/密码示例,因为这是最常见的 //(你知道这是什么电影吗?;)usernamepasswortoken token = new usernamepasswortoken(" lonestar "," vespa ");//这就是你所要做的一切来支持\u\u\u\u。记住我。(没有内置配置!)://这就是你需要做的所有事情来支持& gt;记住我。(无配置——内置!)token . setrememberme(true);currentuser . log in(token);}代码截图仅此而已!应该比较好用吧? 但是如果他们的登录尝试失败了呢?可以捕捉各种具体的异常,告诉你到底发生了什么,并允许你做出相应的解决和反应:try { currentuser . log in(token);//如果没有异常,就这样,搞定!} catch(unknownCountException UAE){//使用户名脱离系统,如何向他们显示错误信息?} catch(correctauthenticalexception){//密码不匹配,可以重试吗?} catch(LockedacountException LAE){//用户名的账号应该被锁定——无法登录 如何显示消息?} ...更多类型的异常检查和。mdash& ampampmdash如果你想的话...} catch(认证异常AE){//意外情况——如何解决?}代码截图你可以检查许多不同类型的异常,也可以抛出Shiro来设置自己无法解释的异常。 有关更多信息,请参见AuthenticationException JavaDoc。 好了,到目前为止,我们已经让用户登录了 我们还能做什么?我们来看看他们是谁://print他们的身份subject(这里是make用户名)log . info(" user["+currentuser . get principal()+"]登录成功。");我们还可以测试他们是否有特定的角色:if (currentuser.hasrole("施瓦茨")){log.info("愿施瓦茨与你同在!");} else {log.info("你好,凡人。");}我们还可以看到他们是否有权对某些类型的实体采取行动:if (currentuser.is permitted("光剑:Weild "){ log . info("你可以使用光剑戒指。明智地使用它。”);} else {log.info("抱歉,光剑戒指只供施瓦茨大师使用。");}此外,我们可以执行一个非常强大的实例级权限检查——检查用户是否可以访问特定类型的实例的功能可以是:if(" winne bago:drive:eagle 5 "){ log . info(" you permitted to \u 7;驱动程序:the \u\u:温尼贝戈:带牌照(id)>鹰5:. "+“这是钥匙——玩得开心!”);} else {log.info("抱歉,您不是\\\\\\";不允许驾驶“t”型车。鹰5:温尼贝戈!”);}小菜一碟吧?最后,当用户完成应用程序后,可以注销:current user . logout();//删除所有标识信息并使其会话无效 所以,这是在应该使用程序的开发者层面使用阿帕奇·希罗的核心。 虽然有一些非常复杂的事情正在进行,这使得这部作品如此优雅,但它确实是一样的。 但是你可能会问自己,“但是谁负责获取用户数据(比如用户名和密码,角色和权限等?)登录时,以及谁在运行时实际执行这些安全检查?”这是正确的问题。mdash& ampampmdash您这样做:实现Shiro所称的Realm,并将该Realm插入Shiro的配置中。 然而,如何配置Realm很大程度上取决于您的运行时环境。 例如,如果你运行一个独立的应用程序,或者如果你有一个基于Web的应用程序,或者一个基于Spring或JEE容器或它们的组合的应用程序,这种类型的配置不在本快速入门的范围之内,因为它的目的是让你对API和Shiro的概念感到满意。 当您准备好了解更多细节时,您必须阅读认证指南和授权指南。 然后,您可以查阅其他文档,尤其是参考手册,来回答任何剩余的问题。 你可能也想加入用户的邮件列表——你会发现我们有一个很棒的社区,只要你能帮忙,他们都愿意帮忙。 感谢您的关注。 我们希望你喜欢使用阿帕奇·希罗!参考下一个更高级别的实战案例。 四郎建筑


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)
【技术支持|常见问题】你正确使用https了吗? [php源码](2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部