Ionic项目中DNN JWT Auth的集成与应用

需积分: 5 0 下载量 54 浏览量 更新于2024-11-17 收藏 1.54MB ZIP 举报
资源摘要信息: "DnnJwtAuth:带有DNN JWT Auth的离子" 该资源是一篇关于在Ionic框架项目中集成DNN(DotNetNuke,现在名为DNN Platform)的JWT Auth处理程序的示例项目。该文档指导用户如何在DNN 9平台上安装和配置JWT Auth处理程序,以及如何在Ionic 3项目中使用它来实现用户认证。以下详细解释了标题、描述和标签中提及的知识点。 **知识点一:DNN平台** DNN(DotNetNuke,现名为DNN Platform)是一个流行的开源Web内容管理系统(CMS),主要使用***作为其开发框架。DNN支持各种功能,包括用户管理、页面创建、模块化扩展、主题和布局定制等。该平台允许开发者创建强大的、可定制的网站和应用程序。 **知识点二:JWT Auth处理程序** JWT(JSON Web Tokens)是一种在互联网应用中实现安全通信的开放标准(RFC 7519)。它用于在各方之间安全地传输信息,通常作为身份验证和信息交换的媒介。DNN的JWT Auth处理程序是一种在DNN中集成JWT认证机制的扩展,它提供登录和注销API端点,允许开发者在不直接处理用户登录细节的情况下实现认证流程。 **知识点三:Ionic框架** Ionic是一个开源的移动应用开发框架,用于构建跨平台的移动应用程序。使用Web技术,如HTML、CSS和JavaScript,开发者可以使用Ionic来构建原生般的移动应用。Ionic 3是该框架的一个版本,它在性能、功能和开发者体验上都有所提升。 **知识点四:Web API集成** Web API是指通过网络为计算机程序提供接口的服务。在这个文档中,它指的是开发者需要与DNN平台上的JWT Auth处理程序集成的自定义Web API。通过调用这些API,Ionic应用能够验证用户身份,并执行其他需要用户授权的操作。 **知识点五:TypeScript** TypeScript是JavaScript的一个超集,它添加了如类型注解、类和模块等特性。TypeScript允许开发者用更结构化的方式编写代码,然后通过编译器转换为纯JavaScript,使其能够在各种运行环境中执行。在这个项目中,TypeScript可能被用于编写Ionic应用的业务逻辑和组件。 **知识点六:实现流程** 1. 首先,需要设置DNN平台。文档提示读者可以从DNN官方网站下载DNN平台。 2. 接着,需要在DNN平台中安装JWT Auth处理程序。这将为用户登录和注销提供所需的端点。 3. 登录API是通过POST请求实现的,需要提交用户名和密码。这些数据被编码在请求的数据体中。 4. 注销API则通过GET请求实现。开发者无需编写登录和注销逻辑的详细代码,因为这些工作已经由JWT Auth处理程序内部完成。 5. 完成这些步骤后,开发者应该能够在Ionic应用中使用这些API端点进行用户认证。 **知识点七:技术栈** 文档中提到的技术标签包括: - dnn: 表示DNN平台,是一个强大的CMS和应用开发框架。 - ionic-framework: 代表Ionic框架,是一个用于构建跨平台移动应用的框架。 - jwt-authentication: 指代JSON Web Tokens认证机制,一种广泛采用的认证方式。 - webapi: 指代Web API,这里特指DNN平台提供的RESTful API。 - ionic3: 表示Ionic框架的第3个主要版本。 - TypeScript: 一种强类型、面向对象的编程语言,用于开发大型应用。 **知识点八:文件结构** 提供的文件名称列表 "DnnJwtAuth-master" 指示了这是一个项目资源的压缩包文件,其中可能包含了项目的所有源代码文件和配置文件。这可能包括了Ionic项目的前端代码、后端API的接口定义以及可能的DNN平台安装和配置文件。 综合以上内容,该资源为希望在Ionic应用中集成DNN平台JWT认证机制的开发者提供了一个详细的指导,并且介绍了相关的技术栈和实现流程。通过理解和遵循这些步骤,开发者可以创建一个既安全又具有现代前端特性的Web应用程序。

[ERROR:0@1.536] global D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp (1203) cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively OPENCV/DNN: [Pooling]:(onnx_node!AveragePool_75): getMemoryShapes() post validation failed. inputs=1 outputs=1/1 blobs=0 inplace=0 [ERROR:0@1.536] global D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp (1206) cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively input[0] = [ 1 128 7 7 ] [ERROR:0@1.536] global D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp (1210) cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively output[0] = [ 1 128 -2147483648 -2147483648 ] [ERROR:0@1.536] global D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp (1216) cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively Exception message: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp:1195: error: (-2:Unspecified error) in function 'void __cdecl cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively(int,class std::map<int,struct cv::dnn::dnn4_v20220524::detail::LayerShapes,struct std::less<int>,class std::allocator<struct std::pair<int const ,struct cv::dnn::dnn4_v20220524::detail::LayerShapes> > > &)' > (expected: 'total(os[i]) > 0'), where > 'total(os[i])' is 0 > must be greater than > '0' is 0 Traceback (most recent call last): File "C:\Users\20496\Desktop\00\1.py", line 23, in <module> output = net.forward() # 网络的计算,返回网络的输出 cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\dnn\src\net_impl.cpp:1195: error: (-2:Unspecified error) in function 'void __cdecl cv::dnn::dnn4_v20220524::Net::Impl::getLayerShapesRecursively(int,class std::map<int,struct cv::dnn::dnn4_v20220524::detail::LayerShapes,struct std::less<int>,class std::allocator<struct std::pair<int const ,struct cv::dnn::dnn4_v20220524::detail::LayerShapes> > > &)' > (expected: 'total(os[i]) > 0'), where > 'total(os[i])' is 0 > must be greater than > '0' is 0

212 浏览量