二开案例.表单插件.获取会话Id(SessionId)

【应用场景】
获取登录用户的会话Id,从而实现免登录也可以执行某些操作。
【案例演示】
采购订单,通过表单插件获取会话Id。

【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.ServiceFacade.KDServiceFx;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
using System.Linq;
using System.Web;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】获取会话Id(SessionId)
/// </summary>
[Description("【表单插件】获取会话Id(SessionId)"), HotUpdate]
public class GetSessionIdFormPlugIn : AbstractDynamicFormPlugIn
{
/// <summary>
/// ASP.NET的SessionId,ASP.NET根据此Id来识别当前请求发起的会话。
/// </summary>
const string aspnet_sessionid_key = "ASP.NET_SessionId";
/// <summary>
/// 金蝶的的SessionId,星空根据此Id来获取登录用户的会话信息。
/// </summary>
const string kd_sessionid_key = "kdservice-sessionid";
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
if (HttpContext.Current == null)
{
return;
}
string aspnet_sessionid = string.Empty;
string kd_sessionid = string.Empty;
KDServiceSession userSession = null;
if (HttpContext.Current.Request.Cookies.AllKeys.Contains(aspnet_sessionid_key))
{
aspnet_sessionid = HttpContext.Current.Request.Cookies[aspnet_sessionid_key].Value;
}
if (HttpContext.Current.Request.Cookies.AllKeys.Contains(kd_sessionid_key))
{
// 获取金蝶会话Id
kd_sessionid = HttpContext.Current.Request.Cookies[kd_sessionid_key].Value;
if (!string.IsNullOrWhiteSpac二开案例.表单插件.获取会话Id(SessionId)
【应用场景】获取登录用户的会话Id,从而实现免登录也可以执行某些操作。【案例演示】采购订单,通过表单插件获取会话Id。【实现步骤】<1>...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



