找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 8664|回复: 13

vb中 u870 登录控件如何引用

[复制链接]
发表于 2008-10-15 17:29:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
我用了发现 u6 和 u870登录注册控件不一样。

老的LOGIN控件如何替换成新的LOGIN控件?
步骤一:门户登录
Dim m_NetLogin as object
Set m_NetLogin = createobject(“UFSoft.U8.Framework.Login.UI.clsLogin”)

If m_NetLogin.login_2("DP") = False Then’(显示登录界面)
    MsgBox m_NetLogin.ErrDescript
Else
    MsgBox "login ok"
End If
步骤二:子系统登录
Dim oLoginContext As Object
    Set oLoginContext = CreateObject("UFSoft.U8.Framework.LoginContext.ProductContext")
    Set oLoginContext = m_NetLogin.SubLogin("GL")
    If oLoginContext Is Nothing Then
         MsgBox m_NetLogin.ErrDescript
    Else
        MsgBox "SubLogin ok"        
    End If


步骤三:构建老的LOGIN控件
DIM g_oLogin AS object
Set g_oLogin = CreateObject("U8Login.clsLogin")
Call g_oLogin.ConstructLogin(m_NetLogin.userToken)
g_oLogin.TaskId = m_NetLogin.GetTaskID("GL")’必须加上这句,否则task的值有可能不能使用

If g_oLogin.login("GL") = False Then   
    MsgBox g_oLogin.ShareString
Else
   
       MsgBox "ConstructLogin ok"
End If


退出系统时要注销登录控件,新的登录包括三步注销:
步骤一:老的LOGIN控件的注销
g_oLogin.shutdown
步骤二:子系统注销
m_NetLogin.SubLogout ("GL")
步骤二:门户注销
m_NetLogin.shutdown

但是无法取出 syspassword 口令
无法取出数据库口令,无法对数据库进行查询统计呀

评分

参与人数 1金币 +50 收起 理由
yifeng651 + 50 鼓励一下!!

查看全部评分

发表于 2008-10-15 17:55:50 | 显示全部楼层
呵呵, 楼主这些代码是U6的登陆代码?? 看上去已经有U860版本的基础了嘛.

至于U870, 应该比较简单, 关键是得用U870的调用方法, 目前我暂时还不能发布. 毕竟没有授权发布这类内部开发资料. 小心为上.
发表于 2008-10-15 21:12:40 | 显示全部楼层
870的我最近做过一个

[ 本帖最后由 syy 于 2008-10-15 22:29 编辑 ]
发表于 2008-10-31 10:45:04 | 显示全部楼层
我有Delphi做的,其实挺简单的

  try
    LoginInfo:=CreateOleObject('UFSoft.U8.Framework.LoginContext.UserData');
    clsLogin:=CreateOleObject('UFSoft.U8.Framework.Login.UI.clsLogin');
    LoginSuccess:=clsLogin.login_2('DP');
    //是否登录成功
    if not LoginSuccess then
    begin
      clsLogin.shutdown;
      Application.Terminate;
      Exit;
    end;
    //取登录信息
    LoginInfo:=clsLogin.GetLoginInfo;
    cAcc_Id:=LoginInfo.AccId;
    cAccName:=LoginInfo.AccName;
    cIYear:=LoginInfo.iYear;
    cUserName:=LoginInfo.UserName;
    CurDate:=LoginInfo.operDate;
    //这里就是你要的数据库连接字符串
    cDataConnect:=LoginInfo.ConnString;
  finally
    clsLogin.ShutDown;
  end;

评分

参与人数 1金币 +10 收起 理由
yifeng651 + 10 虽然我看不懂, 但鼓励一下!!

查看全部评分

发表于 2009-2-6 11:42:31 | 显示全部楼层
.NET的还行,但U8Login中的Login用不了呀。。。
发表于 2010-4-17 02:09:01 | 显示全部楼层
还有其他语言的么?
发表于 2010-7-29 21:51:53 | 显示全部楼层
我也试过调用登录介面,但调用后无法登陆成功,请问有人知道吗?我是用U872版本的
发表于 2011-6-18 10:27:37 | 显示全部楼层
受教了。学习。中。
发表于 2011-10-27 23:57:53 | 显示全部楼层
Option Explicit
Public U8_Login As U8Login.clsLogin
Sub UFLogin()
  Dim sysLogin As Object
  Set sysLogin = CreateObject("UFSoft.U8.Framework.Login.UI.clsLogin")
  'Set sysLogin = CreateObject("UFSoft.U8.Framework.Login.UI")
  'sysLogin.ShowLoginForm ("DP")
  If sysLogin.Login_2("DP") = False Then
  MsgBox sysLogin.ErrDescript, vbCritical, "登录"
  End If
  Set U8_Login = New U8Login.clsLogin
  U8_Login.ClearError
  Dim bLogin As Boolean
  bLogin = U8_Login.ConstructLogin(sysLogin.userToken) 'U8_Login.Login("DP") '
  'bLogin = U8_Login.Login("ST")
  If Not bLogin Then
  Unload Me
  End If
End Sub
以上是登录代码,环境WIN2008SP2+SQL2008SP2+U8V10和WINXPSP3+SQL2000SP4+U8V10,两个环境下原用友都可以正常登录使用,调用却提示令牌失效,请修改服务器配置...
前提,需要引用U8Login.DLL
发表于 2011-10-27 23:59:14 | 显示全部楼层
以上VB6  .NET都可以,U872版本可以,U8V10就不行了
发表于 2011-12-12 20:09:04 | 显示全部楼层
好东西!谢谢了!学习!学习!
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2012-1-13 14:18:07 | 显示全部楼层
以上VB6  .NET都可以,U872版本可以,U8V10就不行了?
问一下U8V10又怎么解决呢?
回复 点赞 拍砖

使用道具 举报

发表于 2012-7-23 16:28:22 | 显示全部楼层
同问V10的版本怎么解决此问题。
回复 点赞 拍砖

使用道具 举报

发表于 2013-1-8 10:23:29 | 显示全部楼层
好像要用友北京开发总部要授权
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-23 16:53 , Processed in 0.087218 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表