iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Winform开发框架中怎么实现系统登录
  • 892
分享到

Winform开发框架中怎么实现系统登录

2023-06-17 09:06:33 892人浏览 独家记忆
摘要

winform开发框架中怎么实现系统登录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管

winform开发框架中怎么实现系统登录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管理多个用户账号,希望通过不同的账号登录进行管理不同的资料,另一种情况是酒店的换班操作,另一个人接替前面的人进行系统维护管理。这种重新登录其实也是一种友好的操作之一,试想一下,换个账号登录,就需要推出系统,重新寻找运行程序才可以,而且如果系统启动较慢一点的,还需要等待,所以实现重新登录,有时候也是必要的。因此实现这个功能,也是体现我们开发的系统注重细节的表现。

另外,自动登录(其实是接受通过命令行参数进行登录)也是很常见的,有时候,让客户端记住用户的账号密码,我们在后台通过调动命令行方式进行登录,让系统程序接收到相关的参数值即可进行登录了。

1、系统重新登录实现

大致的思路,就是登录系统后,在系统菜单中有一项重新登录的功能入口,单击可以要求客户重新输入密码进行登录,如下所示。

Winform开发框架中怎么实现系统登录

Winform开发框架中怎么实现系统登录

代码实现就是通过把初始化的时候,用户相关的操作放到一个函数里面,保证重新执行这个函数操作就能重新刷新登录用户信息即可。如下所示。

Winform开发框架中怎么实现系统登录

在InitUserRelated函数里面,我们把用户相关的初始化操作放在里面,其中包括显示登录用户信息、用户可操作按钮或者菜单、首页信息等相关项目,代码如下所示。

/// <summary>  /// 初始化用户相关的系统信息  /// </summary>  private void InitUserRelated()  {      ChildWinManagement.LoadMdiFORM(this, typeof(FirstPage));//欢迎页面       #region 初始化系统名称      try     {          string Manufacturer = config.AppConfigGet("Manufacturer");          string ApplicationName = config.AppConfigGet("ApplicationName");          string AppWholeName = string.Format("{0}-{1}    ", Manufacturer, ApplicationName);          Portal.GC.gAppUnit = Manufacturer;          Portal.gc.gAppMsgboxTitle = AppWholeName;          Portal.gc.gAppWholeName = AppWholeName;           this.Text = AppWholeName + "      ";          this.notifyIcon1.BalloonTipText = AppWholeName;          this.notifyIcon1.BalloonTipTitle = AppWholeName;          this.notifyIcon1.Text = AppWholeName;           string userName = Portal.gc.LoginInfo.RealName;          if (string.IsNullOrEmpty(userName))          {              userName = Portal.gc.LoginInfo.Name;          }          UserStatus = string.Format("当前用户:{0}({1})", userName, Portal.gc.RoleInfo.RoleName);          CommandStatus = string.Format("欢迎使用 {0}", Portal.gc.gAppWholeName);      }      catch { }       #endregion       InitAuthorizedUI();//根据权限屏蔽       InitSkinGallery();      UserLookAndFeel.Default.SetSkinStyle("Office 2010 Blue");  }

其中InitAuthorizedUI就是判断用户有哪些权限的函数,根据权限系统获取到的功能点,在这里对界面元素进行重新刷新,有权限的就显示,没有的就隐藏即可,如下所示。

/// <summary>  /// 根据权限屏蔽功能  /// </summary>  private void InitAuthorizedUI()  {      this.tool_Report.Enabled = Portal.gc.HasFunction("Report");      this.tool_Dict.Enabled = Portal.gc.HasFunction("Dictionary");      this.tool_ItemDetail.Enabled = Portal.gc.HasFunction("ItemDetail");      this.tool_Purchase.Enabled = Portal.gc.HasFunction("Purchase");      this.tool_StockSearch.Enabled = Portal.gc.HasFunction("StockSearch");      this.tool_TakeOut.Enabled = Portal.gc.HasFunction("TakeOut");      this.tool_WareHouse.Enabled = Portal.gc.HasFunction("WareHouse");      //this.menu_run_systemLog.Enabled = Portal.gc.HasFunction("LoginLog");      this.tool_Settings.Enabled = Portal.gc.HasFunction("Parameters");      this.tool_MonthlyStatistic.Enabled = Portal.gc.HasFunction("MonthlyStatistic");      this.tool_AnnualStatistic.Enabled = Portal.gc.HasFunction("AnnualStatistic");      this.tool_ClearAll.Enabled = Portal.gc.HasFunction("ClearAllData");      this.tool_ImportItemDetail.Enabled = Portal.gc.HasFunction("ImportItemDetail");  }

这样封装好后,我们需要重新登录就方便了,我们在重新登录的菜单操作里面,实现代码如下所示。

private void btnRelogin_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)  {      if (MessageDxUtil.ShowYesNoAndWarning("您确定需要重新登录吗?") != DialogResult.Yes)          return;        Portal.gc.MainDialog.Hide();       Login dlg = new Login();      dlg.StartPosition = FormStartPosition.CenterScreen;      if (DialogResult.OK == dlg.ShowDialog())      {          if (dlg.bLogin)          {              CloseAllDocuments();              InitUserRelated();          }       }      dlg.Dispose();      Portal.gc.MainDialog.Show();  }

实现上面的操作过程,基本上就完成了重新登录的操作了。

2、系统自动登录实现

系统自动登录有时候很必要,在用户自己绝对信任的电脑上,自动登录对用户来说,很方便友好的,君不见,QQ如此、旺旺如此等等。其实实现思路就是通过给exe执行文件传递登录参数即可,必要时登录的参数值还可以进行加密,给第三方进行运行调用,以前就做过一个在WEB上自动启动桌面程序Visio应用软件的操作,其实原理就是一样,通过传递参数给执行文件实现的。

[STAThread]  static void Main(string[] args)  {      Application.EnableVisualStyles();      Application.SetCompatibleTextRenderingDefault(false);       if (args.Length > 0)      {          LoginByArgs(args);      }      else     {          LoginNormal(args);      }  }
/// <summary>          /// 使用参数化登录          /// </summary>          /// <param name="args"></param>          private static void LoginByArgs(string[] args)          {              CommandArgs commandArgs = CommandLine.Parse(args);              if (commandArgs.ArgPairs.Count > 0)              {                  #region 获取用户参数                  string userName = string.Empty;                  string identity = string.Empty;                  foreach (KeyValuePair<string, string> pair in commandArgs.ArgPairs)                  {                      if ("U".Equals(pair.Key, StringComparison.OrdinalIgnoreCase))                      {                          userName = pair.Value;                      }                      if ("P".Equals(pair.Key, StringComparison.OrdinalIgnoreCase))                      {                          identity = pair.Value;                      }                  }                   #endregion                   if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(identity))                  {                      bool bLogin = Portal.gc.LoginByIdentity(userName.Trim(), identity);                      if (bLogin)                      {                          ShowMainDialog();                      }                      else                     {                          LoginNormal(args);                      }                  }              }          }

有时候,即使觉得用户不需要通过命令行登录,那么我们自己为了避免开发过程中,启动程序时候,总是需要输入用户账号密码的问题,也可以使用模拟自动登录的方式解决。

我们只需要在项目的属性里面输入内置的用户名密码,这样我们测试起来就不用登录那么麻烦了。

Winform开发框架中怎么实现系统登录

以上就是Winform开发框架中对于系统重新登录以及系统自动登录(命令行登录)的思想思路及方式。

看完上述内容,你们掌握Winform开发框架中怎么实现系统登录的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Winform开发框架中怎么实现系统登录

本文链接: https://www.lsjlt.com/news/288155.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Winform开发框架中怎么实现系统登录
    Winform开发框架中怎么实现系统登录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管...
    99+
    2023-06-17
  • winform怎么快速开发框架
    开发WinForms应用程序的一个快速开发框架是使用Visual Studio和C#语言。以下是一些步骤:1. 创建一个空白的Win...
    99+
    2023-09-09
    winform
  • C#框架winform实现简单点餐系统
    本文实例为大家分享了C#框架winform实现简单点餐系统的具体代码,供大家参考,具体内容如下 一、编程思想 1、构思界面并进行设计 2、思考需要用到的控件以及控件需要更改的属性 3...
    99+
    2024-04-02
  • C#怎么开发Winform实现学生管理系统
    这篇文章主要介绍“C#怎么开发Winform实现学生管理系统”,在日常操作中,相信很多人在C#怎么开发Winform实现学生管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么开发Winform实现...
    99+
    2023-06-30
  • C#开发Winform实现学生管理系统
    一、案例功能的实现 数据: --专业 create table ProfessionInfo ( ProfessionID int primary key identity(1,1...
    99+
    2024-04-02
  • 怎么使用thinkphp框架实现登录功能
    这篇文章主要介绍“怎么使用thinkphp框架实现登录功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用thinkphp框架实现登录功能”文章能帮助大家解决问题。第一步:创建登录页面首先,需...
    99+
    2023-07-05
  • Winform开发框架中的同化对话框样式分别是什么
    本篇文章为大家展示了Winform开发框架中的同化对话框样式分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1)基于传统经典模式的界面,采用了OutLookBar工具条以及鼎鼎有名的Weif...
    99+
    2023-06-17
  • 怎么在电脑上去除XP系统中的开机登录框
    这篇文章主要讲解了“怎么在电脑上去除XP系统中的开机登录框”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在电脑上去除XP系统中的开机登录框”吧!解决方法/步骤:打开控制面板,点击用户账户...
    99+
    2023-06-27
  • Winform开发框架中的通用附件管理模块是什么
    这篇文章将为大家详细讲解有关Winform开发框架中的通用附件管理模块是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在做Winform项目的时候,一直有一个梦想,就是希望把所有的组件模...
    99+
    2023-06-17
  • C#怎么开发Winform实现文件操作
    这篇文章主要介绍了C#怎么开发Winform实现文件操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么开发Winform实现文件操作文章都会有所收获,下面我们一起来看看吧。一、文件对话框C#中共有三种文...
    99+
    2023-06-30
  • ASP.NET Web开发框架怎么实现功能导航
    本篇内容主要讲解“ASP.NET Web开发框架怎么实现功能导航”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET Web开发框架怎么实现功能导航”吧!功能导航主要解决如何布局功能,把...
    99+
    2023-06-17
  • WinForm中怎么实现登陆认证功能
    在WinForm中实现登陆认证功能的一种常用方法是使用对话框来让用户输入用户名和密码,然后与预先存储的用户名和密码进行比较来验证用户...
    99+
    2024-04-08
    winform
  • 浅析node怎么实现单点登录系统
    一. 基础知识1.1 同源策略源 = 协议 + 域名 +端口以http://www.a.com为例:https://www.a.com ❌(协议不同)http://www.b.com ❌(域名不同)http://www.a.com:3000...
    99+
    2022-11-22
    nodejs node
  • Linux系统中怎么登录MySQL
    本篇内容主要讲解“Linux系统中怎么登录MySQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中怎么登录MySQL”吧!格式: mysql -h主机地址 -u用户名-p用户密码...
    99+
    2023-06-28
  • 如何在PaddlePaddle框架中实现推荐系统
    在PaddlePaddle框架中实现推荐系统可以通过以下步骤进行: 准备数据集:首先需要准备好推荐系统所需的数据集,包括用户行为...
    99+
    2024-03-08
    PaddlePaddle
  • Python中怎么使用Django框架开发
    今天就跟大家聊聊有关Python中怎么使用Django框架开发,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。建立Python Django开发框架,实现表单的有效性检验。可以方便的从...
    99+
    2023-06-17
  • 什么是单点登录系统?用nodejs怎么实现?
    一. 基础知识1.1 同源策略源 = 协议 + 域名 +端口以http://www.a.com为例:https://www.a.com ❌(协议不同)http://www.b.com ❌(域名不同)http://www.a.com:3000...
    99+
    2023-05-14
    单点登录系统 nodejs node
  • 微信小程序开发登录验证怎么实现
    本篇内容主要讲解“微信小程序开发登录验证怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序开发登录验证怎么实现”吧!需求描述:对于部分页面添加登录验证,用户未登录的情况下,进入页面...
    99+
    2023-06-26
  • Xamarin图表开发中OxyPlot框架怎么用
    这篇文章主要为大家展示了“Xamarin图表开发中OxyPlot框架怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Xamarin图表开发中OxyPlot框架怎么用”这篇文章吧。Xamami...
    99+
    2023-06-05
  • Python中的Web开发框架怎么使用
    这篇文章主要介绍了Python中的Web开发框架怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的Web开发框架怎么使用文章都会有所收获,下面我们一起来看看吧。在开始之前,我们先要安装好需要...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作