Acumatica:流程完成后注销用户
我正在尝试在进程完成后注销用户,我尝试使用PXAccess或PXAccessInfo类来注销用户,但没有找到正确的方法注销用户。在注销用户时是否有其他我可能忽略的方法 我修改了标准的签出代码,因此它可以从图形扩展而不是Aspx.cs网页运行。它相当于此签出菜单项: 在本例中,我将代码放入SOOrderEntry Initialize override中,以便在您导航到SalesOrderEntry图时立即注销当前用户。您可以将其放在操作事件处理程序中,但我还没有在单独的线程上下文中运行的PXLongOperation上下文中对其进行测试:Acumatica:流程完成后注销用户,acumatica,Acumatica,我正在尝试在进程完成后注销用户,我尝试使用PXAccess或PXAccessInfo类来注销用户,但没有找到正确的方法注销用户。在注销用户时是否有其他我可能忽略的方法 我修改了标准的签出代码,因此它可以从图形扩展而不是Aspx.cs网页运行。它相当于此签出菜单项: 在本例中,我将代码放入SOOrderEntry Initialize override中,以便在您导航到SalesOrderEntry图时立即注销当前用户。您可以将其放在操作事件处理程序中,但我还没有在单独的线程上下文中运行的PXL
public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry>
{
public override void Initialize()
{
System.Web.UI.Page page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page;
if (page != null)
{
PX.Data.PXLogin.LogoutUser(PX.Data.PXAccess.GetUserName(), page.Session.SessionID);
PX.Common.PXContext.Session.SetString("UserLogin", string.Empty);
string absoluteLoginUrl = PX.Export.Authentication.AuthenticationManagerModule.Instance.SignOut();
page.Session.Abandon();
PX.Data.Auth.ExternalAuthHelper.SignOut(System.Web.HttpContext.Current, absoluteLoginUrl);
PX.Export.Authentication.FormsAuthenticationModule.
RedirectToLoginPage(PX.Data.Auth.ExternalAuthHelper.SILENT_LOGIN + "=None", true);
}
}
}
public类SOOrderEntry\u扩展名:PXGraphExtension
{
公共覆盖无效初始化()
{
System.Web.UI.Page=System.Web.HttpContext.Current.Handler作为System.Web.UI.Page;
如果(第页!=null)
{
PX.Data.PXLogin.LogoutUser(PX.Data.PXAccess.GetUserName(),page.Session.SessionID);
PX.Common.PXContext.Session.SetString(“UserLogin”,string.Empty);
字符串absoluteLoginUrl=PX.Export.Authentication.AuthenticationManagerModule.Instance.SignOut();
page.Session.放弃();
PX.Data.Auth.ExternalAuthHelper.SignOut(System.Web.HttpContext.Current,absoluteLoginUrl);
PX.Export.Authentication.FormsAuthenticationModule。
RedirectToLoginPage(PX.Data.Auth.ExternalAuthHelper.SILENT_LOGIN+“=None”,true);
}
}
}
我修改了标准的签出代码,因此它可以从图形扩展而不是Aspx.cs网页运行。它相当于此签出菜单项:
在本例中,我将代码放入SOOrderEntry Initialize override中,以便在您导航到SalesOrderEntry图时立即注销当前用户。您可以将其放在操作事件处理程序中,但我还没有在单独的线程上下文中运行的PXLongOperation上下文中对其进行测试:
public class SOOrderEntry_Extension:PXGraphExtension<SOOrderEntry>
{
public override void Initialize()
{
System.Web.UI.Page page = System.Web.HttpContext.Current.Handler as System.Web.UI.Page;
if (page != null)
{
PX.Data.PXLogin.LogoutUser(PX.Data.PXAccess.GetUserName(), page.Session.SessionID);
PX.Common.PXContext.Session.SetString("UserLogin", string.Empty);
string absoluteLoginUrl = PX.Export.Authentication.AuthenticationManagerModule.Instance.SignOut();
page.Session.Abandon();
PX.Data.Auth.ExternalAuthHelper.SignOut(System.Web.HttpContext.Current, absoluteLoginUrl);
PX.Export.Authentication.FormsAuthenticationModule.
RedirectToLoginPage(PX.Data.Auth.ExternalAuthHelper.SILENT_LOGIN + "=None", true);
}
}
}
public类SOOrderEntry\u扩展名:PXGraphExtension
{
公共覆盖无效初始化()
{
System.Web.UI.Page=System.Web.HttpContext.Current.Handler作为System.Web.UI.Page;
如果(第页!=null)
{
PX.Data.PXLogin.LogoutUser(PX.Data.PXAccess.GetUserName(),page.Session.SessionID);
PX.Common.PXContext.Session.SetString(“UserLogin”,string.Empty);
字符串absoluteLoginUrl=PX.Export.Authentication.AuthenticationManagerModule.Instance.SignOut();
page.Session.放弃();
PX.Data.Auth.ExternalAuthHelper.SignOut(System.Web.HttpContext.Current,absoluteLoginUrl);
PX.Export.Authentication.FormsAuthenticationModule。
RedirectToLoginPage(PX.Data.Auth.ExternalAuthHelper.SILENT_LOGIN+“=None”,true);
}
}
}
对于将来的参考和其他希望在PXLONG操作中注销用户的用户,他们需要做的只是在CustomInfo包装中调用此函数。下面给出的示例:public类LogOutInfo:IPXCustomInfo{public void Complete(PXLongRunStatus,PXGraph graph){//Call Sign Out Logic}}供将来参考,以及其他希望在PXLongOperation中注销用户的用户,他们需要做的就是在CustomInfo包装中调用此函数。下面给出的示例:public类LogOutInfo:IPXCustomInfo{public void Complete(PXLongRunStatus状态,PXGraph图){//调用签出逻辑}