表单免登录查看
2020-06-28 17:40:47
22718次阅读
0个评论
表单免登录使用说明
4、注册 操作:在web>config>ESUrlRewriterCustom.config 文件中添加一个rewrite节点->重启IIS
表单免登录主要应用于用户无需登录就可以浏览查看和填写相应的表单。
免登录的原理免登录不是真正的不登录,而是在打开页面时,后台自动登录一个系统设置好的账户和密码,设置相应的token值。 配置流程如下:
1、新建一个平台.do扩展 2、在站点下新建一个HTML文件,编写相应的html内容 一、新建平台.do扩展(参考 帮助树中平台.do扩展)1、新建项目名称为AutoLogin,引入站点的 web/bin 目录下ES.LibraryV2.dll、ES.UIV2.Config.dll、ES.UIV2.dll、ES.Weixin.dll文件。
2、创建文件夹Auto,在Auto文件夹下新建类名为Login。
示例中使用到的代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ES.LibraryV2.Web.Common; using ES.LibraryV2.Helper; namespace AutoLogin.Auto { class Login : IESAction { IESAction IESAction.Create() { return new Login(); } void IESAction.Process(ESEngineContext engineContext, ESActionContext actionContext) { //登陆成功,生成真实的用户信息 ESLoginUserInfo loginUser = new ESLoginUserInfo() { UserId = "ba7654f6-4917-4460-8a2a-0b3b43d632e1", UserName = "youke", CompanyId = "001", CompanyName = "31tech", }; ESLoginUserHelper.SaveLoginUser(loginUser); var request = engineContext.Request; engineContext.Response.ESResponseWriteJsonData(loginUser); return; } } } 3、生成解决方案,将AutoLogin项目Debug目录下生成的的AutoLogin.dll和AutoLogin.pdb文件复制到站点文件夹的bin目录下。4、注册 操作:在web>config>ESUrlRewriterCustom.config 文件中添加一个rewrite节点->重启IIS
示例中使用到的代码
<!--自动登录--> <add name="autoLogin" type="AutoLogin.Auto.Login,AutoLogin" url="/api/auto.do" queryParams="" enableSession="false" requirePermission="false" />
1、先在站点下新建 autoLogin.html文件,在网页加载时,就发送ajax请求,请求后台自动登录,然后跳转至相应的表单页面。
示例中使用到的代码
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <script type="text/javascript" src="scripts/jquery/jquery-2.2.4.js"></script> <script type="text/javascript" src="scripts/esutility.js"></script> <script type="text/javascript" src="scripts/escustom.js"></script> <script type="text/javascript" src="scripts/artDialog/dialog.js"></script> <script type="text/javascript"> function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } // 函数名为 runoob window.onload = function runoob() { window.oldglobalErrorTip = window.globalErrorTip; window.oldglobalLoginTip = window.globalLoginTip; window.globalErrorTip = function () { }; window.globalLoginTip = function () { }; $.ajax({ url:'/api/auto.do', data: { }, type: 'POST', dataType: 'json', success: function (data) { console.info(data) if (data.code == 200) { window.globalErrorTip = window.oldglobalErrorTip; window.globalLoginTip = window.oldglobalLoginTip; $.ajaxSetup({ headers: $es.getAuthHeader() }); localStorage.setItem('esauthtoken', data.data.Token); var page = "/Platform/UIV2/Form/ShowForm.html?publishId=" + GetQueryString("publishId"); location.replace(page); } } }); } </script> </head> <body> </body> </html> 三、预览 当配置完上述文件后,在使用免登录时,应将表单的发布id传给autoLogin.html。
1、获取表单的publishId,预览相应的表单,在页面的url处复制publishId。
2、在网页输入链接 localhost:8081?publishId=79a2333304fe44f8b84c0ae07088fe9a
3、预览
0
0