通用权限管理系统组件 中集成多个子系统的单点登录(网站入口方式)附源码

news/2024/5/10 16:18:26/文章来源:https://blog.csdn.net/weixin_33859665/article/details/89906387

通用权限管理系统组件 (GPM - General Permissions Manager) 中集成多个子系统的单点登录(网站入口方式)附源码

 上文中实现了直接连接数据库的方式,通过配置文件,自定义的登录界面单点登录到通用权限管理系统的功能实现。这个方法不好的地方就是暴露了数据库连接,对系统的安全有严重的隐患,最好不要用直接访问数据库的方式进行多系统的单点登录,虽然这个比较简单,但是安全隐患太大,核心的底层数据库能接触的人越少越好尽量防止没必要的事情发生比较好,而且从多个系统登录时,每次都输入密码也很闹心。

  上文地址如下: 通用权限管理系统组件 (GPM - General Permissions Manager) 中集成多系统的统一登录(数据库源码级)附源码

  我们可以换个方式,建立统一的单点登录门户,然后所有的网站都登录到这个页面上,然后读取统一的Cookies,当然Cookies也可以按自己的需要进行加密解密处理的。很多人可能都会讲,你这个技术不行、安全性不行、这个那个的,其实有时候还真没必要过度设计,很公司的多内部关系系统,外面的人进也进不来,再其次大家工作完成了,谁都懒得多上一会儿公司的各种内部系统,只要好用简单就可以了,没几个人无聊了天天攻击自己公司内部的系统。大家都想早点儿下班早点儿回家陪老婆孩子就完事了,何必给自己找那么多麻烦了。

  而且有了源码后,想怎么加密解密,想怎么改进都可以,可以按自己的个性要求改进个彻底都没关系对吧。下面给大家参考一下,哪里觉得怎么做会更好就进行积极改进就ok了多听听大家的也没错,通用权限管理系统里的是如何实现多系统的统一单点登录的,参考代码如下:

//-----------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd .
//-----------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using DotNet.Utilities;

///<summary>
/// _Default
/// 单点登录的例子程序
///
/// 修改纪录
///
///        2012-01-29 版本:1.0 JiRiGaLa 整理实现多系统的统一退出功能。
///
/// 版本:1.0
///
///<author>
///<name>JiRiGaLa</name>
///<date>2012-01-29</date>
///</author>
///</summary>
publicpartialclass _Default : System.Web.UI.Page
{
private BaseUserInfo userInfo = null;                       // 当前操作员信息对象
public BaseUserInfo UserInfo
   {
get
       {
if (Session["UserInfo"] != null)
           {
this.userInfo = (BaseUserInfo)Session["UserInfo"];
           }
if (this.userInfo == null)
           {
// 从 Session 读取 当前操作员信息
if (Session["UserInfo"] == null)
               {
this.userInfo = new BaseUserInfo();
// 获得IP 地址
this.userInfo.Id = string.Empty;
this.userInfo.RealName = Context.Request.ServerVariables["REMOTE_ADDR"];
this.userInfo.UserName = Context.Request.ServerVariables["REMOTE_ADDR"];
this.userInfo.IPAddress = Context.Request.ServerVariables["REMOTE_ADDR"];
// 设置操作员类型,防止出现错误,因为不小心变成系统管理员就不好了
// if (this.userInfo.RoleId.Length == 0)
//{
//    this.userInfo.RoleId = DefaultRole.User.ToString();
//}
               }
           }
returnthis.userInfo;
       }
set
       {
this.userInfo = value;
       }
   }

protectedvoid Page_Load(object sender, EventArgs e)
   {
       // 这个是判断当前是否已经登录的函数
bool userIsLogOn = Utilities.UserIsLogOn();
this.btnLogOn.Enabled = !userIsLogOn;
this.btnLogOut1.Enabled = userIsLogOn;
this.btnLogOut2.Enabled = userIsLogOn;
   }

protectedvoid btnLogOn_Click(object sender, EventArgs e)
   {
// 这是退出后需要重新定位的位置
string returnURL = "http://localhost/CRM/Default.aspx";
// 这里可以传递比较复杂的URL参数信息
       returnURL = Server.UrlEncode(returnURL);
// 这里是跳转到单点登录的位置
string url = "http://localhost/DotNet.WebForm/LogOn.aspx?ReturnURL=" + returnURL;
// 进行重新定位
       Page.Response.Redirect(url);
   }


protectedvoid btnLogOut1_Click(object sender, EventArgs e)
   {
// 先在本系统进行退出动作
       Utilities.Logout();
// 这是退出后需要重新定位的位置
string returnURL = "http://localhost/CRM/Default.aspx";
// 这里可以传递比较复杂的URL参数信息
       returnURL = Server.UrlEncode(returnURL);
// 这里是跳转到单点登录的位置
string url = "http://localhost/DotNet.WebForm/LogOut.aspx?ReturnURL=" + returnURL;
// 进行重新定位
       Page.Response.Redirect(url);
   }

protectedvoid btnLogOut2_Click(object sender, EventArgs e)
   {
// 先在本系统进行退出动作
       Utilities.Logout();
// 这是退出后需要重新定位的位置
string returnURL = "http://localhost/CRM/Default.aspx";
// 这里可以传递比较复杂的URL参数信息
       returnURL = Server.UrlEncode(returnURL);
// 这里是跳转到单点登录的位置
string url = "http://localhost/DotNet.WebForm/LogOuting.aspx?ReturnURL=" + returnURL;
// 进行重新定位
       Page.Response.Redirect(url);
   }
}


系统的运行效果如下:

   所有系统的登录都导航到 通用权限管理系统的登录界面里来登录,这样可以通过通用权限权限管理系统的强大后台管理功能,彻底管理好帐户的登录限制等等。

   维护N多套代码,还不如维护一套通用权限管理系统的底层代码,折腾来折腾去,调试来调试去浪费时间,不如直接采用通用权限管理系统的省事省心,强大稳定,有良好售后服务,有良好的代码质量,可以放心使用。说白了就是花钱办事还是花时间办事的区别。

吉日嘎拉,通用权限管理系统组件

这个是模拟登录CRM系统的效果,下图表示系统还没登录

吉日嘎拉,通用权限管理系统组件

点击登录后,会跳转到通用权限管理系统的统一扽路页面,进行登录操作。

吉日嘎拉,通用权限管理系统组件

登录成功后,会自动跳转到当前的CRM系统,同时CRM系统还可以得到当前登录用户的用户详细信息,这些信息可以用在CRM系统的各种逻辑判断上了。

吉日嘎拉,通用权限管理系统组件

接下来是退出登录的提示信息,用户可以直接退出,也可以有提示信息的退出方式可以灵活选择

吉日嘎拉,通用权限管理系统组件

用户安全退出后,CRM系统里同步退出了。

吉日嘎拉,通用权限管理系统组件

通用权限管理不仅仅是权限管理同时也是强大稳定的简易单点登录系统,并提供相关的全部源码,优点就是代码简介功能强大稳定可靠。


1: 简单好用。

2:代码统一。

3:最小程度影响现有系统。

4:各种.NET系统都可以集成,甚至php,java, asp 等都可以进行集成。


上面实例的相关代码参考如下:

/Files/jirigala/CRM.rar




本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1196338,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_701392.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔建站 mysql在哪_宝塔面板建站教程,越详细越好纯小白! - 搜外问答

我的网站就是用宝塔添加的网站&#xff1a;宝塔面板创建站点添加网站的详细教程。宝塔 Linux 面板创建站点添加网站常规方法1、登录宝塔 linux 面板 >> 网站 >> 添加站点&#xff0c;具体如下图所示&#xff1a;2、填写站点域名&#xff1b;FTP 可以选择创建&#…

如何防御网站被ddos攻击 首先要了解什么是流量攻击

什么是DDOS流量攻击&#xff1f;我们大多数人第一眼看到这个DDOS就觉得是英文的&#xff0c;有点难度&#xff0c;毕竟是国外的&#xff0c;其实简单通俗来讲&#xff0c;DDOS攻击是利用带宽的流量来攻击服务器以及网站。 举个例子&#xff0c;服务器目前带宽是100M&#xff0c…

PHP 实现多网站共享用户SESSION 数据解决方案

PHP 实现多网站共享用户SESSION 数据解决方案 来源URL:http://blog.csdn.net/dongdongzzcs/article/details/6906613 一、问题起源 稍大一些的网站&#xff0c;通常都会有好几个服务器&#xff0c;每个服务器运行着不同功能的模块&#xff0c;使用不同的二级域名&#xff0c;而…

怎么制作营销型网站才能有效提升优化效果?

中小企业建设网站大多数都是为了推广自身产品或品牌&#xff0c;但是&#xff0c;并非所有网站都能达到网络营销或推广的作用。在这个信息爆炸的时代&#xff0c;必须通过互联网传播&#xff0c;才能发挥网站应有的价值。那为什么要做营销型网站呢&#xff1f;从营销角度来讲&a…

一个母婴电子商务网站贝贝网的大数据平台及机器学习实践【转】

关键字&#xff1a;大数据平台、机器学习 贝贝网的主要产品是垂直的母婴类&#xff0c;母婴相对一般的电子商务网站有一些特点&#xff1a;第一个特点是商品周期短&#xff0c;在母婴网站上的商品&#xff0c;在线的时间不会超过5-7天&#xff0c;第二个是用户需求的变化快&…

django前端引用数据_「基于Python技术的智慧中医商业项目」Django前端网站篇-5.资讯的数据交互...

如果你对中医感兴趣欢迎留言讨论&#xff0c;觉得我的内容对你有帮助的话&#xff0c;能够请我喝一杯沪上阿姨不禁万分感谢。内容简介本章介绍Django搭建中医网站项目平台前端建设之资讯模块的数据交互的内容。其中由于代码量较大&#xff0c;因此部分模块代码举例说明&#xf…

干货 | NLP、知识图谱教程、书籍、网站、工具...(附资源链接)

来源&#xff1a;人工智能头条本文多资源&#xff0c;建议阅读收藏。本文整理了关于 NLP 与知识图谱的众多参考资源&#xff0c;涵盖内容与形式非常丰富。[ 导读 ]本文作者一年前整理了这份关于 NLP 与知识图谱的参考资源&#xff0c;涵盖内容与形式也是非常丰富&#xff0c;接…

干货收藏 | 计算机学习绝对不能错过的10大网站(内附网站链接)

作者&#xff1a;肖镇东本文共2071字&#xff0c;建议阅读5分钟。本文整理出大数据和人工智能领域最实用&#xff0c;质量最高的10大技术网站信息&#xff0c;既可以用于丰富技术知识&#xff0c;也可以用于学术研究。[ 导读 ]随着AI&#xff0c;大数据这些技术的快速发展&…

程序员放大招教你网站怎么做短信验证码防刷验证码机制-速码云

文章来源&#xff1a;http://www.4006026717.com 在我们开始发送了 短信验证码 的时候在前台中会出现一分钟的倒计时&#xff0c;进行了这个操作了之后&#xff0c;在这段时间之内&#xff0c;如果用户多次提交的话是无法发送请求的。这种的方法是最为经常使用的一种&#xff0…

Spring Boot 搭载属于你的网站框架(一)

Spring Boot 搭载你的网站框架&#xff08;本次demo演示 使用工具 idea&#xff09; 使用springboot优点&#xff0c;简单快速便捷&#xff0c;只需要管理好pom文件&#xff0c;构建一个新项目是非常快的。 而且内置tomcat&#xff0c;用命令 java -jar jar包路径 的形式启动网…

没想到,阿里工程师每天必刷的网站是......

阿里人每日必逛的神奇内网 阿里内外是阿里内部员工使用的企业运行与协作平台。它诞生于2013年&#xff0c;彼时只是一个门户和企业社交的入口。但经过3年发展&#xff0c;阿里内外实现了平台化运营&#xff0c;不仅接入众多阿里应用与系统&#xff0c;阿里的生态公司也开始享受…

如何成为SEO专家(10步指南)

如何成为SEO专家&#xff08;10步指南&#xff09; 您想了解如何增加流量并获得更高的关键字排名&#xff0c;从而为您的网站带来更多销售和收入吗&#xff1f;那么你应该学习有关SEO的一切知识并成为SEO专家。 拥有SEO专业知识并不是SEO专业人士的唯一特权。任何想要学习如何自…

linux+xampp搭建WordPress个人网站过程详解

建站准备 建站流程 搭建网站注意事项可以参考以下文章 如何从零开始拥有自己的网站&#xff1f;新手建站十大必知忠告超详细新手建站指南以及预算成本估计注册域名 我是在阿里云万网上注册的域名&#xff1a;注册域名详情地址 。不懂这一步的可以参考建站流程里面的几篇文章。 …

jQuery Mobile手机网站案例

jQuery Mobile手机网站案例 一、总结 一句话总结&#xff1a;jQuery Mobile是纯手机框架&#xff0c;和amazeui和bootstrap都可以做手机网站。 1、另一款文本编辑器&#xff1f; jd编辑器 二、jQuery Mobile手机网站案例 1、index.php 1 <?php 2 include common/config.php…

PrestaShop 网站后台配置(三)

转载请注明出处&#xff1a;http://www.cnblogs.com/zhong-dev/p/4942957.html 网店版本 v1.6这一篇文章主要介绍 前台显示模块 的调整1&#xff1a;top banner&#xff08;首页横幅&#xff09;如上图&#xff0c;这个是首页横幅展示&#xff0c;其实是一个模块。在后台的模块…

怎样将优酷网站下载的视频KUX转MP4格式

在休息之余&#xff0c;相信大多数人都会拿手机看电视剧听音乐之类的&#xff0c;最近拍了很多的新片子&#xff1a;《毒液&#xff1a;致命守护者》、《无名之辈》、《亡命救赎》《影》等等优质电影&#xff0c;但是很多的电影都只能在电影院观看的&#xff0c;如果不去电影院…

40 个科研学术网站,赶紧来收藏一波!

关注上方“深度学习技术前沿”&#xff0c;选择“星标公众号”&#xff0c;资源干货&#xff0c;第一时间送达&#xff01;来源&#xff1a;中外学术情报编译&#xff1a;程序员大白科研工作者每天日常莫过于看文献、做实验、写论文。人生最郁闷的事情不过于是导师说&#xff0…

百度搜索关键字如何排名?“网站SEO”告诉你答案

作者 | 哪吒来源 | 程序员小灰&#xff08;ID&#xff1a;chengxuyuanxiaohui&#xff09;前言什么是SEO呢&#xff1f;SEO是Search Engine Optimization&#xff0c;意为“搜索引擎优化”&#xff0c;一般简称为搜索优化。对于SEO的主要工作就是通过了解各类搜索引擎如何抓取互…

如何在网站上同步查看BCH数据

当涉及到数字货币网络和市场时&#xff0c;有很多数据和资料需要同步。对于比特币现金&#xff08;BCH&#xff09;来说&#xff0c;值得庆幸的是现在还有许多专用的BCH数据网站&#xff0c;这些网站可轻松理解网络统计数据和市场指标的直观表示。 在早期&#xff0c;很难找到…

如何在网站上同步查看BCH数据

当涉及到数字货币网络和市场时&#xff0c;有很多数据和资料需要同步。对于比特币现金&#xff08;BCH&#xff09;来说&#xff0c;值得庆幸的是现在还有许多专用的BCH数据网站&#xff0c;这些网站可轻松理解网络统计数据和市场指标的直观表示。 在早期&#xff0c;很难找到…