EOS非Portal模式下,如何开发一个用户登录验证程序,用户只有在登录验证通过后,方可访问系统。

来源:互联网 发布:饥荒修改数据 编辑:程序博客网 时间:2024/06/05 21:12

本场景描述了在非门户模式(即非Portal模式)下,如何开发一个用户登录验证程序,用户只有在登录验证通过后,方可访问系统。

场景描述

用户访问系统资源时,如果没有登录,则进入登录页面,提示输入用户名称和密码;用户名称和密码验证通过后,才能访问系统的资源。

开发步骤

  1. 确认系统运行在非portal模式下。
    登录Governor后,在菜单导航栏选择"配置/HTTP接入",进入"HTTP接入"配置界面,取消"门户(Portal)模式"复选框的选择,如下图所示。
  2. 过滤用户登录的url,配置用户登录失败时要跳转到的页面,如下图所示。
    • 因为对用户登录的页面和登录的请求url都不需要做认证,所以可以把不需做认证的url加到"HTTP接入"配置界面的"不拦截Url"中。
      用户登录的页面流和页面分别是"/com.primeton.samples.security.userLogin.flow"和"/security/userLogin.jsp"。
    • 用户登录验证未通过时,要跳转到的页面为"/security/userLogin.jsp",将该页面配置到"HTTP接入"配置界面的"未登录时跳转页面"中。
  3. 配置受管理用户数据。
    逻辑流或运算逻辑不能直接访问Http会话中的数据,只能访问MUO中的数据,MUO中的数据是受控的,即用户如果要访问一些信息,必须将这些对象配置在MUO属性信息中,否则就无法访问。
    点击"MUO"页签,再点击"MUO属性信息"页签,增加配置项,如下图所示。

    确认该用户可以访问系统(如用户在系统已注册过)后,在页面流中创建UserObject对象,通过调用OnlineUserManager.login(userObject)方法,把用户对象UserObject保存在session中。

说明

  • EOS通过在Governor的"配置/HTTP接入"功能中的"门户(Portal)模式"选项,来指定当访问页面、页面流的时候是否需要校验用户已登录。
    • 当Portal="true"时,不校验用户是否登录;
    • 当Portal="false"时,校验用户是否登录,如果用户未登录,就会跳转到用户指定的登录页面,指定的登录页面同样可以在Governor的"配置/HTTP接入"功能中配置。
  • 判断用户是否登录的标准是HttpSession和OnlineUserManager中都有UserObject对象。
  • EOS开发版对于默认应用(eos-default),是把Portal设为"true"的,这样对于用户自己在默认应用下开发新的页面并且访问这些页面的时候是不用登录的,但是在使用默认应用下的工作流客户端或管理监控就必须先从工作流的登录页面登录,否则会抛异常。并且当Session超时后还需要再次从工作流的登录页面登录才能使用工作流的客户端和管理监控。
0 0
原创粉丝点击