一般情况下,uniGUI项目总要有个登录窗口,客户端登录时,显示这个窗口。现在我想把这个应用嵌套到app中,由于app已经被用户登录,在这种情况下,如果再弹出登录窗口,要用户输入信息,是不合理的。那我该怎么办呢?

在朋友们的帮助下,实现了用户免登录,实现思路,就是在访问uniGUI的url中加入登录信息,然后在uniGUI应用中取得登录信息,完成登录动作。具体实现方法:

1.在访问uniGUI的url中加入用户免与密码参数:

http://192.168.8.8:8077/m?userid=2222&pw=3333

2.然后,接管uniMainDataModule.OnBeforeLogin事件:

varuserid, pw:string;begin

//如果url中传来userid则自动登录,适应在app中调用,不弹出登录窗口.

if uniGUIApplication.UniApplication.Parameters.IndexOfName('userid') <> -1 then

beginuserid := uniGUIApplication.UniApplication.Parameters.Values['userid'];

pw := uniGUIApplication.UniApplication.Parameters.Values['pw'];

CurrentUser.ValidateUser(userid, pw);if UniMainModule.CurrentUser.LoginStatus = TLoginStatus.lsLogined then

beginUniMainModule.CurrentUser.Login('Web');

Handled := True; //不弹出登录窗口

end

end;end;

看上面的代码,首先从访问的url中取得登录参数 userid,及pw,注意,这里要加uniGUIApplication单元名称,不加的话,uniMainDatamodule也有个属性叫UniApplication,会与uniGUIApplication.UniApplication冲突,这不是一个对象,我在这里犯了点卡。

接着就是实现登录逻辑,如果用户验证成功,将事件参数Handled设置为True,表示完成登录,不再需要弹出登录窗口。

现在用带用户登录信息的url访问uniGUI应用,就直接显示主窗口,完成自动登录。

另外,举一反三,利用这个OnBeforeLogin事件,还可以解决F5刷新浏览器时的自动登录,用户登录后将用户名与密码保存到Cookie中,然后象上面的代码一样,读出来实现登录。具体的代码就不写了。

3.在自己的app中,根据当前用户信息,生成带用户名与密码的url,用浏览器访问uniGUI,完美集成。这里就不提供参考代码。

最后要说的是,在普通的uniGUI的web应用中,填加手机端的Login与MainForm,uniGUI会自动识别访问的平台,如果是手机访问,则自动显示手机端的登录窗口与主窗口,这很好的支持了一个uniGUI应用自动支持web访问与手机访问。

为了方便调试,我们可以在Chrome浏览器中模拟手机访问,具体操作:按crtl+shift+i,切换到开发者模式,然后点击标记的按钮,就变成手机了:

unigui发布_uniGUI免登录的实现相关推荐

  1. unigui发布_UniGui安装(01)

    本文将为您描述UniGui安装(01),具体完成步骤: UniGui安装.Delphi10和uniGUI1.90.0.1509 1]下载 2]安装 3]目录说明 1]下载 在我百度网盘里 uniGUI ...

  2. unigui发布_uniGUI试用笔记(十一) ---UNIDBGRID

    最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了. TuniDBGrid的重要属性包括: 1.列-TUniDBGridColumns和TUniDBGridColumn 每个列对象( ...

  3. zblog php 火车头,ZBLOG PHP版火车头采集器免登录文章发布模块使用记录

    早年ZBLOG ASP在博客时代确实非常的流行,后来普及PHP之后国产PHP博客程序更替没有跟上所以导致PHP博客程序我们较多的还是使用WordPress.但是ZBLOG PHP版本出来之后,还是有较 ...

  4. PBOOTCMSV3.1.3火车头采集器7.6免登录 新闻文章发布

    pbootcms插件说明 PBOOTCMSV3.1.3火车头采集7.6免登录 新闻文章发布 使用pbootcms 3.1.3 版本制作,支持火车头 免登录 新闻模型的发布,目前只有新闻的发布,后续再制 ...

  5. 蓝天采集器Zblog文章远程免登录发布接口插件

    Zblog文章远程免登录发布接口插件:进入官方下载 下载后进入zblog后台在"插件管理"中选择文件并提交即可 插件界面: Zblog文章post参数说明: 必填项 Title 标 ...

  6. 蓝天采集器Emlog文章远程免登录发布接口插件

    Emlog文章远程免登录发布接口插件:进入官方下载 下载后在"emlog后台»插件»安装插件"中选中文件并上传安装,或者下载解压后将skycaiji_em文件夹复制到"e ...

  7. 最新—易优CMS免登录通用发布接口

    最新免费的易优CMS(eyoucms)免登录通用发布接口插件!!! 可用于易优CMS - 1.4.7版本的文章模型!!! 插件接口可以接收来自火车头,简数采集,八爪鱼等大部分采集工具传输的数据!!! ...

  8. pbootcms火车头免登录发布模块pbootcms入库插件

    这是pbootcms火车头免登录发布模块和入库插件,一直以为pbootcms都是用的是web发布模块,每次都需要去登录非常的麻烦,所以为了方便SEO站长的日常使用需求,特地找了一款非常好用的pboot ...

  9. 帝国网站管理系统7.5服务器信息,帝国CMS程序 7.5版本新闻可以使用的后台免登录接口...

    帝国CMS 新闻模块的后台免登录接口.配合发布模块使用,这个是没有问题的. 适用于帝国7.2/7.5版本.其他没有测试,应该都是差不的.. /* 使用说明:请将该接口上传到帝国CMS程序/e/exte ...

最新文章

  1. [转]linux下fms2流媒体服务器搭建之五-----flv播放器制作篇
  2. 开源纯C#工控网关+组态软件(六)图元组件
  3. (转)求单链表是否有环,环入口和环长
  4. String s1==s2面试题
  5. Ant—使用Ant构建简单Java项目(二)
  6. Atitit 项目通讯接口方案attilax总结.docx
  7. linux adb工具 终极总结
  8. goeasy的ios无后台接收消息的一些bug解决
  9. 孔雀优化算法(POA)——(含MATLAB代码)
  10. 自动化脚本腾讯云配置集群(三)批量修改host
  11. Daily record-November
  12. 3月第5周业务风控关注 | 央视曝光偷密码的“×××”,9亿人个人信息存风险
  13. 几种抠象技术理论试验-1 (Luma-Key,Chroma-Key)
  14. unity本地分数排行榜简单解决方案(Json)
  15. 纯前端 导出excel 插件xlsx和file-saver
  16. VIJOS P1351 棋盘制作
  17. 小心!WPS正在监控你的电脑!浏览记录
  18. java微信群自动回复_功能强大,手机微信群控系统和云控哪个好?
  19. 【机器学习】一文看懂贝叶斯优化/Bayesian Optimization
  20. 新基建背景下 数字化产业园区的机遇与挑战

热门文章

  1. ubuntu 更新 apt 源
  2. GB/T 7714-2015 Enenote参考文献模板免费下载
  3. 计算机 usb记录 深度,隐私信息自检查工具-EvidenceToolkit
  4. 制作球形状3D全景图
  5. 博客保存大数据SQL相关
  6. Erasure code 代替RAID的案例
  7. 基于Jsp的在线电影院订票|影院购票系统
  8. 技术贴,关于Rhino各类版本无法打开问题
  9. opencv-python不规则多边形 ROI提取
  10. 《Computer-CPU中央处理器和GPU图形处理器》