在\Demos\WebSnap\PhotoGallery中的这个websnap技术中,他只要在EndUserSessionAdapter1中设置logpage属性便能对未经过验证的网页进行自

84175971 2003-12-11 01:31:14
在D:\Delphi7\Demos\WebSnap\PhotoGallery中的这个websnap技术中,他只要在EndUserSessionAdapter1中设置logpage属性便能对未经过验证的网页进行自动转向到登录页面,我不知道他是通过什么道理能实现这样的功能的?
难道他是在html中写了什么代码,那这代码又是什么呢?
如果我在摸板是自己添加一个超级连接,未经过身份验证的也一样能跳出对话框显示,“请先登陆”,或直接跳转到该登录页又该如何写呢?
请高手帮忙。
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiflower 2003-12-15
  • 打赏
  • 举报
回复
登录页
当然,应用程序也需要一个登录页。在试图访问有权限的页的时候或之前,用户要输入他们的用户名和口令来验证身份。用户也能指定完成验证时收到哪个页面。如果用户名和口令与 Web 用户列表相匹配,则用户获得合适的访问权限,并进入在登录页面指定的页。如果用户未通过验证,可以重新显示登录页(缺省的行为)或可以发生其它行为。
很幸运,通过使用 Web 页模块和 Adapter 页生成器,WebSnap 可很容易地建立简单的登录页面。要建立登录页面,从建立一个新的 Web 页模块开始。选择 File|New|Other,显示 New Items 对话框,然后从 WebSnap 窗格中选 WebSnap Module。选择 AdapterPageProducer 作为页生成器类型。再填写你需要的其它选项。为登录页起一个好的名称。
现在应当添加最基本的登录页字段:用户名字段,口令字段,一个选择框给用户选择登录后收到哪个页,一个登录按钮用来提交页面及身份验证。要添加这些字段:
1. 为建立的页模块添加一个 LoginFormAdapter 组件(可以从组件面板上的 WebSnap 窗格中找到)。
2. 双击 AdapterPageProducer 组件显示 Web 页编辑器窗口。
3. 右键点击左上角的 AdaterPageProducer,选择 New Component。在 Add Web Component 对话框中选择 AdapterForm 并点击 OK。
4. 给 AdapterForm 添加一个 AdapterFieldGroup。(右键点击左上角的 AdapterForm,选择 New Component。在 Add Web Component 对话框中选择 AdapterFieldGroup 并点击 OK。)
5. 现在到 Object Inspector 把 AdapterFieldGroup 的 Adapter 属性设置为 LoginFromAdapter。UserName,Password 和 NextPage 字段应自动出现在 Web 页编辑器的 Browse 窗格。
因此,WebSnap 在几个简单步骤中处理大部分工作。登录页还缺少一个登录按钮,它把表单上的信息提交用于验证。添加一个登录按钮:
1. 为 AdapterForm 添加一个 AdapterCommandGroup。在 Object Inspector 中把它的 DisplayComponent 属性值设置为 AdapterFieldGroup。
2. 为 AdapterCommandGroup 添加一个 AdapterActionButton。
3. 点击 AdapterActionButton(列在 Web 页编辑器的右上角),用 Object Inspector 把它的 ActionName 属性修改为 Login。在 Web 页编辑器的 Browse 窗格,可以看见一个登录页的预览。
Web 页编辑器类似于下图显示。
从 Web 页编辑器中看到的登录页例子:

如果按钮未出现在 AdapterFieldGroup 下面,确定 AdapterCommandGroup 列在 Web 页编辑器的 AdapterFieldGroup 下面。如果 AdapterCommandGroup 出现在上面,选中它,并点击 Web 页编辑器的下向箭头(通常,Web 页元素出现的次序与它们在 Web 页编辑器中相同)。然后在 Object Inspector 中,把 AdapterCommandGroup 的 DisplayComponent 属性置为 AdapterFieldGroup。
在登录页有功能之前,还需要多个步骤。需要指定在最终用户会话 Adapter(EndUserSessionAdapter)中指定哪个是登录页。在 Web 应用程序模块中选择 EndUserSessionAdapter 组件,在 Object Inspector 中,把 LoginPage 属性修改为登录页的名称。现在该登录页对 Web 服务器应用程序的所有页可用。

hiflower 2003-12-15
  • 打赏
  • 举报
回复
设置要求登录的页面

有了工作的登录页后,对那些需要访问控制的页,必须要求登录。得到要求登录的页的最容易的方法,是把需求设计到页中。在最初建立一个 Web 页模块时,在 New WebSnap Page Module 对话框的 Page 部分,选中 Login Required 框。
如果已建立了一个没有要求登录的页,可以在以后修改:
1. 在编辑器中打开与 Web 页模块关联的 .pas 文件。
2. 滚动到 implementation 部分。在 WebRequestHandle.AddWebModuleFactory 命令的参数中,找到 TWebPageInfo 对象的构造器。它应当象这样:
TWebPageInfo.Create([wpPublished{, wpLoginRequired}], '.html')
3. 去掉参数列表的 wpLoginRequired 部分的注释,即删除花括弧。TWebPageInfo 构造器现在象这样:
TWebPageInfo.Create([wpPublished, wpLoginRequired], '.html')
要从一个页去除登录需求,使用相反的过程,并重新把构造器的“wpLoginRequired”注释掉。注意,可用相同的过程来使页发布或不发布,即按需要简单地添加或删除“wpPublished”部分的花括弧。
84175971 2003-12-15
  • 打赏
  • 举报
回复
哇!太感谢了,这么长的资料可以读,太感动了。
让我细细品尝,
多谢花大哥,好久没有你的消息了。
84175971 2003-12-14
  • 打赏
  • 举报
回复
up
84175971 2003-12-12
  • 打赏
  • 举报
回复
没有人知道吗?
打开链接下载源码: https://pan.quark.cn/s/589796089f72 C++课程设计任务列表,涵盖以下内容:1、识别并显示10至99范围内,各位数乘积超过各位数和的数值,例如数字12不满足条件,因为1乘以2小于1加2,故不输出;而数字27满足条件,因为2乘以7大于2加7,因此需要输出该数。2、开发一个功能,用于从用户输入的任意数量实数找出最大值与最小值:首先要求用户输入一个正整数n,代表数值的个数,随后用户可输入任意n个实数,程序需找出这n个数的最大值和最小值并将它们展示出来。3、实现两个已排序数组的合并操作:设有数组A和B,且假设这两个数组的元素均已按照降序排列。编写程序将A和B合并成一个新的数组C,并确保C的元素同样保持降序排列。int A[10]={123, 86,80, 49,33,15,7,0,-1,-3};int B[10]={100,64,51,50,27,19,15,12,5,2};4、设计一个函数,用于计算特定分数序列前n项的总和,该序列为1/2,1/3,1/4,1/5,1/6,1/7,...。要求在主程序提示用户输入一个整数n,并验证输入的合法性(n需大于1方为有效),若输入合法,则调用求和函数并显示计算结果。5、编写一个程序,计算两个用户输入日期之间的天数差:用户需以year1,month1,day1和year2,month2,day2的格式输入两个日期,程序随后计算这两个日期之间的天数间隔,并将结果输出到屏幕上。要求编制具有如下原型的函数difs2Date:long GetDayDifference(int y1,int m1,int d1,int y2,int m2,int d2);并在主函数调用此函数,将计...
代码下载地址: https://pan.quark.cn/s/ee8627e4e6d7 ABAP调试器是一种功能强大的工具,可用于在执行期间对ABAP代码进行检验。除了常规的核心功能(例如逐行运行代码以及检验变量、字段符号和引用的值)之外,它还提供了一些辅助性的特性,能够简化并压缩调试会话的时长。并非所有使用者都熟悉这些辅助特性。SAP ABAP调试器是处理和优化ABAP代码开发与维护工作的核心资源,它配备了多样的功能来协助开发人员在运行状态下进行检验和排除故障。此资源着重阐述了ABAP调试器的一些高级特性,涵盖了深入分析调用堆栈、系统级调试、更新会话调试以及提升调试效率的方法。 1. **深入分析调用堆栈**:除了常规的应用程序调试,开发人员有时需要对调用堆栈的内部层级进行深入调试,特别是在错误出现在异步执行的更新处理或系统级程序时。通过启用**系统级调试**,可以访问通常不公开的系统代码,但这也会导致调用堆栈的显著增加,因此需要审慎操作。 2. **系统级调试**:对于不含业务逻辑的系统级程序,开发人员通常无需进行调试。然而,在特定情形下,例如进行错误追踪时,可能需要进入系统代码。借助调试器的“系统调试启用/禁用”选项,可以赋予对系统程序的调试权限。 3. **更新会话调试**:在处理异步更新任务,例如持久化业务数据时,错误可能发生在更新任务内部。激活**更新会话调试**,在更新任务完成后,调试器将自动启动,展示执行路径。比如,在变更成本心后,通过输入调试指令 "/h" 启动调试,保存后能够看到更新过程的错误。 4. **分析调用堆栈**:在进行深入调试时,调用堆栈是至关重要的。通过分析调用堆栈,能够定位到引发问题的具体位置,如在VB_V2_NORMAL...
源码链接: https://pan.quark.cn/s/a4b39357ea24 小程序雷达 AI 驱动的小程序生态选型与风险评估工具,把微信小程序开发资源转化为可筛选、可评估、可对比的技术雷达。 线上地址 主站: Vercel: 适合谁 正在做微信小程序技术选型的产品、研发和架构团队。 需要判断 Taro、uni-app、原生小程序、组件库、云开发和 SDK 风险的团队。 需要把历史 awesome 列表转成可筛选、可对比、可验证技术雷达的维护者。 可以做什么 Radar:按推荐状态、风险等级、资源类型、分类和适用场景浏览小程序生态资源。 Quick Search:快速搜索资源并跳转常用页面。 Compare:对比 Taro、uni-app、原生小程序等核心方案。 Advisor:输入选型问题,获得推荐结论、适用/不适用条件、迁移成本、下一步和证据来源。 Doctor:粘贴小程序项目配置,识别框架依赖、过时方案和迁移风险。 Weekly:查看小程序生态周报和近期风险信号。 数据概览 当前数据集包含 236 个小程序生态资源。 完整资源可在 Radar 页面和导出能力查看。 核心样例 Taro ★30.6k+ - 使用 React 的方式开发小程序的框架,同时支持生成多端应用 uni-app ★36.1k+ - 使用 Vue 语法开发小程序、H5、App的统一框架 MPX ★2.1k+ - 增强型小程序框架,深度性能优化,支持跨小程序平台开发,完全兼容原生小程序组件 WePY ★21.7k+ - 支持组件化的小程序开发框架 vant-weapp ★12.3k+ - 高颜值、好用、易扩展的微信小程序 UI 库 tdesign-miniprogram ★1.3...

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧