基于SAML2协议改造exchange owa登录

exchange自带owa登录,ad账号密码是必填项。登录方式单一,不能和企业内SSO系统融合,用户忘记密码、密码过期等会带来很多不便

目标是实现多种方式登录exchange owa,例如微信扫码,短信验证码,OTP,接入外部单点登录等。首先要解决登录exchange owa必须要使用ad账号密码这个问题。

这里参考了 小米使用adfs+cas的解决思路 ,我们使用adfs+saml2协议来实现

继续阅读基于SAML2协议改造exchange owa登录

itops代码优化之前端代码压缩

系统介绍

基于Python + Django的AD管理系统,系统主要提供以下功能:

  • 丰富的API接口,便于内部系统的集成
  • 在线邮件流查询
  • 常规AD、Exchange操作的WEB化,更友好的交互体验
  • 2FA认证登陆,角色权限分层。增强系统安全性的同时,提升HelpDesk同学解决问题的效率
  • 丰富的报表功能和批量操作功能
  • 详细的日志功能

详细功能可参见基于web的AD、Exchange管理平台

地址:GitHub – openitsystem/itops

继续阅读itops代码优化之前端代码压缩

集成基于 KityMinder Editor 的桌面版脑图(附代码)

前提概要 我们项目是一款企业级办公平台软件。某一天,我接到一个需求:在项目中集成脑图功能。 脑图功能?我第一反应,首先想到了Xmind。Xmind是一款很优秀脑图软件,受众也广。我们要做脑图功能,该何去何从? 首先,产品分析。我开始研究市面上的脑图产品,像Xmind、FreeMind、MyMind、jsMind、KityMinder等等... Read More

会议系统同步OUTLOOK

会议系统同步OUTLOOK

我们公司有一个强大的会议系统,产品小姐姐提了个需求,想要我们对全公司outlook进行改造,要求会议系统里的会议自动同步到outlook,接到需求的时候我深思熟虑了0.1秒,满口答应下来:对不起,实现不了!

产品小姐姐也挺温柔的:我不管,明天上线!


  • 实现思路:
  • 新建一个会议账号,使用ews链接exchange邮箱服务器。
  • 会议系统调用我的接口,告诉我会议时间,主题,内容,地点,哪些参会人等信息
  • 我使用会议账号发送会议邀请,并且记录会议唯一ID,通过此ID后期进行会议更改,取消等操作

今天通个宵,应该能赶上明天固传

继续阅读会议系统同步OUTLOOK

python基于谷歌身份验证器的动态密码实现

在很多网站都有动态密码验证来增加安全性,例如银行的U盾,网易的将军令等都是基于动态密码来进行身份验证。动态密码有基于次数和基于时间来刷新的协议,现在基于谷歌的身份验证器来做一个基于时间的动态密码验证系统,默认30秒刷新一次 实现原理: 1、服务端首先要约定一个base32的密钥,并且把这个密钥与某个账户关联。 2、在页面显示一个二维码,内容是一个URI地址(otpauth://totp/账号?secret=密钥)。 3、通过手机端的谷歌身份验证器软件扫描这个二维码,使密钥保存在手机客户端 实现过程: import... Read More

前端–jQuery clone()的select元素不能修改option里的文本(此时的change()方法失效了!!!!)

问题背景: 近期对部门内的资产申请功能进行优化,此前是只能一笔笔的申请显得麻烦,所以想改成可以多笔批量申请。使用JQuery对默认显示的一行进行Clone(),而里面包含了需要选择地点和设备的select框。于是故障出现了,当点击新增一行按钮的时候,内容显示正常,当更改option内容的时候,value值始终保持不变,一直保持默认,这个问题折磨了我2天的时间,头铁的发麻! 故障分析及原因: 在排错的过程中,发现默认行加载了bootstrap-select.js加载完成,而clone行的select并没加载这个js,于是做了手动添加$.getScript(url);重新调试时,bootstrap-select.js进行了加载,但是并没有作用在元素上,表示追加的bootstrap-select.js无效。经过多方面的查阅资料和求助,发现select,textarea的值在clone的时候会被丢掉。 解决方案: 现将select动态加载的数据清空,然后再进行再次加载。此时重新测试时,发现每行都出现了2个相同如下div: <div... Read More