互软研发团队

Talk is cheap. Show me the code.

SSO如何设置用户在一段时间内重复登录失败超过限制次数不允许再登录

1、确认SSOService.config配置使用的ProvideUser使用Beyondbit.SingleSignOn.Core.UserVerifyProvider。

2、打开Settings.xml文件,定位到<Setting><Security><AfterVerify><Repeats>节点。

3、设置<Repeats enable="true">启用重复登录失败检测。

4、修改<Data><Info>的配置信息,格式 :[数据存储模式] [重复登录次数] [重复失败登录时间] [失败以后锁定时间],例如:

D 5 0:30 0:05

数据存储模式:D|M|R。D=Database、M=Memory、R=Remoting。

重复登录次数:整数值。

重复登录时间:在这个范围内允许用户最大重复登录次数。

失败以后锁定时间:超过重复登录次数以后的锁定时间。

5、修改<Failure>设置重复登录超过限制次数以后的提示信息,例如:当前用户超过登录次数,请5分钟后再登录。

6、保存Setting.xml文件,重启应用程序池。

7、如果数据存储模式使用Database,需要初始化数据库和数据表VerifyFailure。使用附件VerifyFailure.sql。

8、在<Info>节点同级配置<Source>的值为数据库连接字符串。例如:

<Source>Database=SSO;Server=192.168.101.175;Uid=sa;Pwd=111qqq!;</Source>

VerifyFailure.sql (301B)

UFFICE 7 部署工作量参考

UFFICE 7 部署工作量参考.docx (219.9KB)


文档中包含:
1 部署工时计算
2 端口开通
3 安装环境信息
4 安装补丁下载地址

使用账号和密码实现SSO的模拟登录

公司的统一身份认证及单点登录服务系统,简称SSO。当用户登录自己的身份认证系统以后希望使用账号和密码模拟登录公司的SSO产品,我们推荐以下两种方式:

1、基于form的POST登录

SSO提供了Login.aspx页面,表单POST以后只需要包含以下命名的输入元素即可完成登录:

  • userUid: 账号,必须
  • password: 密码,必须
  • successUrl: 登录成功以后跳转的地址,可选
  • failUrl: 登录失败以后跳转的地址,可选。emsg会添加到URL查询参数用于获取失败原因。
  • loginedUrl: 用户已经登录过SSO跳转的地址,可选。

2、基于ajax的POST登录,缺点是无法跨域。POST时发送的数据和第一种方式一样。参考示例:

<script type="text/javascript">
    $(document).ready(function () {
        $.post(
            "http://192.168.40.104:30101/Login.aspx",
            {
                userUid: "administrator",
                password: "123456"
            },
            function (response) {

            }
        );
    });
</script>

我们不建议直接模仿SSO的登录页面(/Login/Form.aspx)元素去完成模拟登录,因为这样可能会引发一些不可预期的错误,比如遗漏原来在登录前后执行的客户端脚本代码。

P.S. 如何让SSO为特定用户颁发ticket并使用ticket完成身份认证的解决方案请参考其它博客。



统一身份认证及单点登录服务系统v2以上版本使用的安全协议

统一身份认证及单点登录服务系统即SSO(Single Sign-on)是公司的一个标准产品。SSO是单点登录解决方案的总称,目前公司的产品支持两类协议:

1、SAML

2、BSSO

SAML是行业内的一个标准,而BSSO是公司自主定义的安全认证协议。默认使用SAML。

如何将BUA的应用系统整合到UFFICE 7管理中心顶部菜单显示

1、打开管理中心(Administration)站点的Web.config,查看<appSettings>下名为"IntegrateContainer"的值,例如:CentralAdministration

2、访问BUA的权限管理,编辑要整合的应用系统。修改应用系统的"应用系统集成模式"字段。格式:#{IntegrateContainer}${StartPrivilegeCode}#

{IntegrateContainer}:对应管理中心的配置

{StartPrivilegeCode}:起始权限菜单代号,如果希望从根权限加载可以为空

示例:#CentralAdministration$BUA#

ASP.NET应用程序预热解决方案

附件文档中的解决方案基于研发中心提供的AspNet应用预热程序,各位可以根据实际的运行环境下载:

AspNet应用预热程序_40

AspNet应用预热程序_35

ASP.NET应用程序预热解决方案.doc (649.5KB)

调用BUA的SOA Web服务提示"调用UserBFO中的GetUserByUid方法出错"的解决方案

# 问题现象

启用DES加密以后,调用BUA的SOA服务有一定机率出现"调用UserBFO中的GetUserByUid方法出错"。开启SOA下的log4net日志以后并查看详细错误如下:

System.Security.Cryptography.CryptographicException:不正确的数据。

# 问题原因

由于BUA 2.5以前版本使用的DES加密类内部使用了共享变量导致多个调用出现了变量篡改。

# 解决方案

下载附件的dll,更新BUA的SOA Web服务。

Beyondbit.Security.zip (2.7KB)

UFFICE 7安装后因权限导致移动端登陆异常

UFFICE 7安装完成,用户在门户可以正常登陆,但移动端登陆失败,提示“用户名或密码错误”。查看SmartBoxHost服务日志看到"权限标识不存在"。

问题原因:

    SmartBoxHost默认使用的权限标识是SmartBox。

解决方案:

    1、登陆管理中心,访问用户授权管理系统。在权限管理模块选择新增应用系统。应用系统名称为:移动办公模块、应用系统标识为:SmartBox。

    2、重启Windows服务"Beyondbit.SmartBoxHost"。


协同办公 1.0 门户 - 修复清空权限缓存后,IIS应用程序池回收访问出错 和新增应用整合时可以指定起始加载父权限

[FIX]清空权限缓存后,IIS应用程序池回收访问出错

[NEW]应用整合时可以指定起始加载父权限



下载附件,更新附件的bin 目录 下dll即可。

升级时注意备份。


附件:

BCOP_Portal.zip (76.4KB)

BUA同步钉钉通讯录解决方案

同步管理.zip (4.8MB)