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

桂林旅游网站制作公司wordpress 菜单编辑

桂林旅游网站制作公司,wordpress 菜单编辑,昆明旅行社网站开发,西湖 app开发公司arquillian从历史上讲#xff0c;很难测试安全的EJB。 到目前为止#xff0c;我一直在使用专有技术#xff08;如JBossLoginContextFactory#xff09;中所述的文章#xff08; 使用Arquillian在WildFly 8.1.x上测试安全的EJB#xff09;来测试安全的EJB。 在今年Devoxx… arquillian 从历史上讲很难测试安全的EJB。 到目前为止我一直在使用专有技术如JBossLoginContextFactory中所述的文章 使用Arquillian在WildFly 8.1.x上测试安全的EJB来测试安全的EJB。 在今年Devoxx中 Apache TomEE项目轻量级Java EE应用程序服务器的创始人David Blevins为我带来了一个小窍门我们可以使用该技巧以一种标准方式处理Java EE安全性该方法可在所有符合Java EE的服务器上运行。 GitHub上的javaee-testing / security上提供了本文中使用的示例。 代码 要测试的代码包括一个实体和一个EJB服务如下所示。 图书实体 Entity public class Book {IdGeneratedValue(strategy GenerationType.IDENTITY)private Integer id;private String isbn;private String title;public Book() {}public Book(String isbn, String title) {this.isbn isbn;this.title title;}// getters and setters omitted for brevity } 书架EJB服务 Stateless public class BookshelfService {PersistenceContext(unitName bookshelfManager)private EntityManager entityManager;RolesAllowed({ User, Manager })public void addBook(Book book) {entityManager.persist(book);}RolesAllowed({ Manager })public void deleteBook(Book book) {entityManager.remove(book);}PermitAllTransactionAttribute(TransactionAttributeType.SUPPORTS)public ListBook getBooks() {TypedQueryBook query entityManager.createQuery(SELECT b from Book as b, Book.class);return query.getResultList();} } 测试类使用Arquillian进行集成测试并断言尊重在EJB上定义的安全角色。 书架服务测试 RunWith(Arquillian.class) public class BookshelfServiceIT {Injectprivate BookshelfService bookshelfService;Injectprivate BookshelfManager manager;Injectprivate BookshelfUser user;Deploymentpublic static JavaArchive createDeployment() throws IOException {return ShrinkWrap.create(JavaArchive.class, javaee-testing-security.jar).addClasses(Book.class, BookshelfService.class, BookshelfManager.class, BookshelfUser.class).addAsManifestResource(META-INF/persistence.xml, persistence.xml).addAsManifestResource(EmptyAsset.INSTANCE, ArchivePaths.create(beans.xml));}Testpublic void testAsManager() throws Exception {manager.call(new CallableBook() {Overridepublic Book call() throws Exception {bookshelfService.addBook(new Book(978-1-4302-4626-8, Beginning Java EE 7));bookshelfService.addBook(new Book(978-1-4493-2829-0, Continuous Enterprise Development in Java));ListBook books bookshelfService.getBooks();Assert.assertEquals(List.size(), 2, books.size());for (Book book : books) {bookshelfService.deleteBook(book);}Assert.assertEquals(BookshelfService.getBooks(), 0, bookshelfService.getBooks().size());return null;}});}Testpublic void testAsUser() throws Exception {user.call(new CallableBook() {Overridepublic Book call() throws Exception {bookshelfService.addBook(new Book(978-1-4302-4626-8, Beginning Java EE 7));bookshelfService.addBook(new Book(978-1-4493-2829-0, Continuous Enterprise Development in Java));ListBook books bookshelfService.getBooks();Assert.assertEquals(List.size(), 2, books.size());for (Book book : books) {try {bookshelfService.deleteBook(book);Assert.fail(Users should not be allowed to delete);} catch (EJBAccessException e) {// Good, users cannot delete things}}// The list should not be emptyAssert.assertEquals(BookshelfService.getBooks(), 2, bookshelfService.getBooks().size());return null;}});}Testpublic void testUnauthenticated() throws Exception {try {bookshelfService.addBook(new Book(978-1-4302-4626-8, Beginning Java EE 7));Assert.fail(Unauthenticated users should not be able to add books);} catch (EJBAccessException e) {// Good, unauthenticated users cannot add things}try {bookshelfService.deleteBook(null);Assert.fail(Unauthenticated users should not be allowed to delete);} catch (EJBAccessException e) {// Good, unauthenticated users cannot delete things}try {// Read access should be allowedListBook books bookshelfService.getBooks();Assert.assertEquals(BookshelfService.getBooks(), 0, books.size());} catch (EJBAccessException e) {Assert.fail(Read access should be allowed);}} } 诀窍在于两个助手EJB它们使我们的测试代码可以通过使用RunAs标准注释在所需的安全范围内执行。 书架经理角色 Stateless RunAs(Manager) PermitAll public class BookshelfManager {public V V call(CallableV callable) throws Exception {return callable.call();} } 书架用户角色 Stateless RunAs(User) PermitAll public class BookshelfUser {public V V call(CallableV callable) throws Exception {return callable.call();} }跑步 -------------------------------------------------------T E S T S ------------------------------------------------------- Running com.samaxes.javaeetesting.security.BookshelfServiceIT nov 23, 2014 2:44:48 AM org.xnio.Xnio clinit INFO: XNIO version 3.2.0.Beta4 nov 23, 2014 2:44:48 AM org.xnio.nio.NioXnio clinit INFO: XNIO NIO Implementation Version 3.2.0.Beta4 nov 23, 2014 2:44:49 AM org.jboss.remoting3.EndpointImpl clinit INFO: JBoss Remoting version (unknown) Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.69 sec - in com.samaxes.javaeetesting.security.BookshelfServiceITResults :Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 测试愉快 翻译自: https://www.javacodegeeks.com/2014/11/testing-secured-ejbs-with-arquillian.htmlarquillian
http://www.zqtcl.cn/news/52669/

相关文章:

  • 优化网站内容网站开发的分工和流程
  • 网站空间续费一年多少钱安阳区号查询
  • 挣钱网站一小时两百网站制作教程dw
  • 没有英文网站怎么做外贸邢台网约车
  • 睢宁县凌城做网站的上海 餐饮网站建设
  • 展示型网站有哪些建行打95533能改密码吗
  • 东莞做网站(信科网络)西安必途网站建设培训中心
  • 安新网站建设wordpress付费电台
  • 建设一个网站的步骤单位网站建设汇报材料
  • 网站建设资金申请报告昆明凡科建站
  • 漯河城乡建设管理局网站资源搜索器
  • 做淘宝详情的网站wordpress 自媒体模版
  • 做美图 网站有哪些东西吗怎么管理wordpress
  • 湖南建设厅网站不良记录简述网站开发的工作流程
  • 丰镇网站建设百度站长工具网站认证
  • 网站服务公司人工成本进什么费用建筑设计主要内容
  • 浙江做网站的公司网站的重要目录对百度进行了封禁
  • 做普通网站需要多少钱网页设计图片代码
  • 新手入门网站建设书籍修改标题下分类 wordpress
  • 网站建设sunmun房地产行业发展前景分析
  • 南京seo整站优化技术天华建筑设计有限公司
  • 北京威凯建设发展招聘网站网络公关团队
  • 网站开发常用的技术如何上传图片到网站
  • 北京商业网站建设广州论坛网站建设
  • 网站建站啥意思一个网站的建设要经过哪几个阶段
  • 山东省建设备案网站审批表做垂直导购网站还行吗
  • 网站排名怎样做有效优秀公司网站
  • 做美团团购网站企业为什么要找会计
  • 网站上的站点地图链接是这么做的网站蜘蛛抓取
  • 涞源县住房和城乡建设局网站西安工作室