本文整理汇总了C#中LibraryChannel.Login方法的典型用法代码示例。如果您正苦于以下问题:C# LibraryChannel.Login方法的具体用法?C# LibraryChannel.Login怎么用?C# LibraryChannel.Login使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LibraryChannel
的用法示例。
在下文中一共展示了LibraryChannel.Login方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetLibraryDataDir
// 获得 dp2Library 数据目录
int GetLibraryDataDir(out string strDataDir, out string strError)
{
strError = "";
strDataDir = "";
if (this.textBox_dp2LibraryUrl.Text == "")
{
strError = "尚未指定 dp2Library 服务器 URL";
return -1;
}
if (this.textBox_manageUserName.Text == "")
{
strError = "尚未指定代理帐户的用户名";
return -1;
}
if (this.textBox_managePassword.Text != this.textBox_confirmManagePassword.Text)
{
strError = "代理帐户 密码 和 再次输入密码 不一致。请重新输入。";
return -1;
}
using (LibraryChannel channel = new LibraryChannel())
{
channel.Url = this.textBox_dp2LibraryUrl.Text;
// Debug.Assert(false, "");
string strParameters = "location=#setup,type=worker,client=dp2OPAC|0.01"; // 2016/4/26 加上 0.01 部分
long nRet = channel.Login(this.textBox_manageUserName.Text,
this.textBox_managePassword.Text,
strParameters,
out strError);
if (nRet == -1)
{
strError = "以用户名 '" + this.textBox_manageUserName.Text + "' 和密码登录失败: " + strError;
return -1;
}
try
{
if (nRet == 0 || StringUtil.IsInList("getsystemparameter", channel.Rights) == false)
{
channel.BeforeLogin -= new BeforeLoginEventHandle(channel_BeforeLogin);
channel.BeforeLogin += new BeforeLoginEventHandle(channel_BeforeLogin);
strError = "为获取 dp2Library 数据目录配置信息, 请用超级用户身份登录。";
nRet = channel.DoNotLogin(ref strError);
if (nRet == -1 || nRet == 0)
{
strError = "以超级用户身份登录失败: " + strError + "\r\n\r\n因此无法获取 dp2Library 数据目录配置信息";
return -1;
}
}
nRet = channel.GetSystemParameter(
null,
"cfgs",
"getDataDir",
out strDataDir,
out strError);
if (nRet == -1)
return -1;
}
finally
{
channel.Logout(out strError);
}
return 0;
}
}
示例2: GetRemoteBiblioDbNames
internal static int GetRemoteBiblioDbNames(
string strUrl,
string strUserName,
string strPassword,
out List<string> dbnames,
out string strError)
{
strError = "";
dbnames = new List<string>();
string strValue = "";
LibraryChannel channel = new LibraryChannel();
channel.Url = strUrl;
try
{
long lRet = channel.Login(strUserName,
strPassword,
"type=worker,client=dp2circulation|" + Program.ClientVersion,
out strError);
if (lRet != 1)
{
strError = "对服务器 '" + channel.Url + "' 以用户 '" + strUserName + "' 进行登录时发生错误: " + strError;
return -1;
}
lRet = channel.GetSystemParameter(null,
"system",
"biblioDbGroup",
out strValue,
out strError);
if (lRet == -1)
{
strError = "针对服务器 " + channel.Url + " 获得书目库信息过程发生错误:" + strError;
return -1;
}
}
finally
{
channel.Close();
}
{
// 解析 XML
XmlDocument dom = new XmlDocument();
dom.LoadXml("<root />");
try
{
dom.DocumentElement.InnerXml = strValue;
}
catch (Exception ex)
{
strError = "category=system,name=biblioDbGroup 所返回的 XML 片段在装入 InnerXml 时出错: " + ex.Message;
return -1;
}
XmlNodeList nodes = dom.DocumentElement.SelectNodes("database");
foreach (XmlNode node in nodes)
{
string strDbName = DomUtil.GetAttr(node, "biblioDbName");
dbnames.Add(strDbName);
}
}
return 0;
}
示例3: DetectManageUser
// 检测管理用户是否已经存在?
// return:
// -1 出错
// 0 不存在
// 1 存在, 且密码一致
// 2 存在, 但密码不一致
int DetectManageUser(out string strError)
{
strError = "";
if (this.textBox_dp2LibraryUrl.Text == "")
{
strError = "尚未指定 dp2Library 服务器 URL";
return -1;
}
if (this.textBox_manageUserName.Text == "")
{
strError = "尚未指定代理帐户的用户名";
return -1;
}
if (this.textBox_managePassword.Text != this.textBox_confirmManagePassword.Text)
{
strError = "代理帐户 密码 和 再次输入密码 不一致。请重新输入。";
return -1;
}
using (LibraryChannel channel = new LibraryChannel())
{
channel.Url = this.textBox_dp2LibraryUrl.Text;
// Debug.Assert(false, "");
string strParameters = "location=#setup,type=worker,client=dp2OPAC|0.01"; // 2016/4/26 加上 0.01 部分
long nRet = channel.Login(this.textBox_manageUserName.Text,
this.textBox_managePassword.Text,
strParameters,
out strError);
if (nRet == -1)
{
strError = "以用户名 '" + this.textBox_manageUserName.Text + "' 和密码登录失败: " + strError;
return -1;
}
if (nRet == 1)
this.ManageAccountRights = channel.Rights;
channel.Logout(out strError);
if (nRet == 0)
{
channel.BeforeLogin -= new BeforeLoginEventHandle(channel_BeforeLogin);
channel.BeforeLogin += new BeforeLoginEventHandle(channel_BeforeLogin);
strError = "为确认代理帐户是否存在, 请用超级用户身份登录。";
nRet = channel.DoNotLogin(ref strError);
if (nRet == -1 || nRet == 0)
{
strError = "以超级用户身份登录失败: " + strError + "\r\n\r\n因此无法确定代理帐户是否存在";
return -1;
}
UserInfo[] users = null;
nRet = channel.GetUser(
null,
"list",
this.textBox_manageUserName.Text,
0,
-1,
out users,
out strError);
if (nRet == -1)
{
strError = "获取用户 '" + this.textBox_manageUserName.Text + "' 信息时发生错误: " + strError + "\r\n\r\n因此无法确定代理帐户是否存在。";
return -1;
}
if (nRet == 1)
{
Debug.Assert(users != null, "");
strError = "代理帐户 '" + this.textBox_manageUserName.Text + "' 已经存在, 但其密码和当前面板拟设置的密码不一致。";
return 2;
}
if (nRet >= 1)
{
Debug.Assert(users != null, "");
strError = "以 '" + this.textBox_manageUserName.Text + "' 为用户名 的用户记录存在多条,这是一个严重错误,请系统管理员启用dp2circulation尽快修正此错误。";
return -1;
}
return 0;
}
return 1;
}
}
示例4: button_test_loginAttack_Click
private void button_test_loginAttack_Click(object sender, EventArgs e)
{
LibraryChannel channel = new LibraryChannel();
channel.Url = this.MainForm.LibraryServerUrl;
channel.BeforeLogin -= new DigitalPlatform.CirculationClient.BeforeLoginEventHandle(Channel_BeforeLogin);
channel.BeforeLogin += new DigitalPlatform.CirculationClient.BeforeLoginEventHandle(Channel_BeforeLogin);
_stop = new DigitalPlatform.Stop();
_stop.Register(this.MainForm.stopManager, true); // 和容器关联
_stop.OnStop += new StopEventHandler(this.DoStop);
_stop.Style = StopStyle.EnableHalfStop;
_stop.Initial("正在试探密码 ...");
_stop.BeginLoop();
this.button_test_loginAttack.Enabled = false;
this.numericUpDown_test_tryChannelCount.Enabled = false;
try
{
for (int i = 0; i < this.numericUpDown_test_tryChannelCount.Value; i++)
{
Application.DoEvents();
if (_stop != null && _stop.State != 0)
break;
string strUserName = "supervisor";
string strPassword = i.ToString();
string strRights = "";
string strLibraryCode = "";
string strOutputUserName = "";
string strError = "";
long lRet = channel.Login(
strUserName,
strPassword,
"",
out strOutputUserName,
out strRights,
out strLibraryCode,
out strError);
#if NO
if (lRet == -1)
{
if (channel.ErrorCode == DigitalPlatform.CirculationClient.localhost.ErrorCode.OutofSession)
break;
}
#endif
_stop.SetMessage(i.ToString() + " username="+strUserName+" password="+strPassword+" lRet = " + lRet.ToString() + " " + strError);
}
}
finally
{
this.numericUpDown_test_tryChannelCount.Enabled = true;
this.button_test_loginAttack.Enabled = true;
_stop.EndLoop();
_stop.OnStop -= new StopEventHandler(this.DoStop);
_stop.Initial("");
if (_stop != null) // 脱离关联
{
_stop.Unregister(); // 和容器关联
_stop = null;
}
}
}
示例5: DoLogin
// 进行登录
// return:
// -1 error
// 0 登录未成功
// 1 登录成功
static int DoLogin(
string strLibraryWsUrl,
string strUserName,
string strPassword,
out string strError)
{
strError = "";
using (LibraryChannel Channel = new LibraryChannel())
{
Channel.Url = strLibraryWsUrl;
// return:
// -1 error
// 0 登录未成功
// 1 登录成功
long lRet = Channel.Login(strUserName,
strPassword,
"location=z39.50 server,type=worker,client=dp2ZServer|0.01",
/*
"z39.50 server", // string strLocation,
false, // bReader,
* */
out strError);
if (lRet == -1)
return -1;
return (int)lRet;
}
}
示例6: GetDatabaseDef
// 获得 dp2library <virtualDatabases> 数据库定义
// return:
// -1 error
// 0 成功
static int GetDatabaseDef(
string strLibraryWsUrl,
string strUserName,
string strPassword,
out string strXml,
out string strError)
{
strError = "";
strXml = "";
using (LibraryChannel Channel = new LibraryChannel())
{
Channel.Url = strLibraryWsUrl;
// return:
// -1 error
// 0 登录未成功
// 1 登录成功
long lRet = Channel.Login(strUserName,
strPassword,
"location=z39.50 server,type=worker,client=dp2ZServer|0.01",
out strError);
if (lRet == -1)
return -1;
if (lRet == 0)
{
strError = "登录未成功:" + strError;
return -1;
}
lRet = Channel.GetSystemParameter(
null,
"opac",
"databases",
out strXml,
out strError);
if (lRet == -1)
return -1;
return 0;
}
}
示例7: button_dp2library_changePassword_Click
private void button_dp2library_changePassword_Click(object sender, EventArgs e)
{
string strError = "";
if (this.textBox_dp2library_userName.Text == "")
{
MessageBox.Show(this, "尚未输入用户名。");
this.textBox_dp2library_userName.Focus();
return;
}
if (this.textBox_dp2library_newPassword.Text != this.textBox_dp2library_confirmNewPassword.Text)
{
MessageBox.Show(this, "新密码 和 确认新密码不一致。请重新输入。");
this.textBox_dp2library_newPassword.Focus();
return;
}
stop.OnStop += new StopEventHandler(this.DoStop);
stop.Initial("正在修改 dp2library 用户密码 ...");
stop.BeginLoop();
this.EnableControls(false);
this.Update();
this.MainForm.Update();
try
{
long lRet = 0;
// 获得server url
if (String.IsNullOrEmpty(this.LibraryServerName) == true)
{
strError = "尚未指定服务器名";
goto ERROR1;
}
dp2Server server = this.MainForm.Servers.GetServerByName(this.LibraryServerName);
if (server == null)
{
strError = "服务器名为 '" + this.LibraryServerName + "' 的服务器不存在...";
goto ERROR1;
}
string strServerUrl = server.Url;
this.Channel = this.Channels.GetChannel(strServerUrl);
// 非强制修改密码,即本人修改
if (this.checkBox_dp2library_force.Checked == false)
{
// return:
// -1 error
// 0 登录未成功
// 1 登录成功
lRet = Channel.Login(this.textBox_dp2library_userName.Text,
this.textBox_dp2library_oldPassword.Text,
"location=dp2Catalog,type=worker",
/*
"",
false,
* */
out strError);
if (lRet == -1)
{
goto ERROR1;
}
if (lRet == 0)
{
strError = "旧密码不正确";
goto ERROR1;
}
try
{
lRet = Channel.ChangeUserPassword(
stop,
this.textBox_dp2library_userName.Text,
this.textBox_dp2library_oldPassword.Text,
this.textBox_dp2library_newPassword.Text,
out strError);
if (lRet == -1)
goto ERROR1;
}
finally
{
string strError_1 = "";
Channel.Logout(out strError_1);
}
}
// 强制修改密码
if (this.checkBox_dp2library_force.Checked == true)
{
UserInfo info = new UserInfo();
//.........这里部分代码省略.........