0

我们在使用我们的 RADIUS (Microsoft NPS) 服务器对 OpenNMS 22.0.3 进行身份验证时遇到问题。问题是我们有一个旧的 OpenNMS 服务器,它成功地使用 RADIUS 身份验证进行 Web 登录,但即使我们从旧的工作机器复制 conf 文件,我们仍然无法让它在 22.0.3 上工作。

我们所做的:

  1. 安装了opennms-plugin-protocols-radius,
  2. applicationContext-spring-security.xml:

将其更改为使用 spring-security.d/ 中的文件 radius.xml

<!-- use our custom authentication provider; to use RADIUS instead, change this to "radiusAuthenticationProvider" an
d uncomment below -->
  <authentication-manager alias="authenticationManager">
    <!-- If a user is pre-authenticated, make sure their user details are populated correctly. -->
    <authentication-provider ref="preauthAuthProvider" />
    <!-- Use our custom authentication provider -->
    <authentication-provider ref="hybridAuthenticationProvider" />
    <!-- To enable external (e.g. LDAP, RADIUS) authentication, uncomment the following.
         You must also rename and customize exactly ONE of the example files in the
         spring-security.d subdirectory. -->
    <authentication-provider ref="externalAuthenticationProvider" /> 
  </authentication-manager>

3.在radius.xml中:

<beans:bean id="externalAuthenticationProvider" class="org.opennms.protocols.radius.springsecurity.RadiusAuthenticationProvider">
    <beans:constructor-arg value="ip.ip.ip.ip"/>
    <beans:constructor-arg value="SECRET"/>
    <beans:property name="port" value="1812"/>
    <beans:property name="timeout" value="5"/>
    <beans:property name="retries" value="3"/>
    <beans:property name="authTypeClass" value="net.jradius.client.auth.MSCHAPv2Authenticator"/>
    <beans:property name="defaultRoles" value="ROLE_USER"/>
    <beans:property name="rolesAttribute" value="Unknown-VSAttribute(5813:1)"/>
  </beans:bean>

当我们然后重新启动 opennms(它重新启动没有错误)并转到网页时,我们只会看到一个空白页面。

日志什么也没说。

4

2 回答 2

1

空白页的症状表明安装 RADIUS 协议时出现问题。你能验证它是否安装正确吗?

cd ${OPENNMS_HOME}/lib
find . -iname "*radius*"

您应该有以下文件:

./jradius-core-1.1.5.jar
./org.opennms.dependencies.jradius-extended-22.0.3.jar
./jradius-dictionary-1.1.5.jar
./org.opennms.protocols.radius-22.0.3.jar
于 2018-09-06T02:14:38.987 回答
0

在 22.0.2 中,我们引入了一种标准化时间表示方式的方法,并且可以在 opennms.properties 中进行配置,请参见此处:

# Choose the format how the date is displayed in the UI. It needs to follow the pattern in DateTimeFormatter:
# see https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
# org.opennms.ui.datettimeformat=yyyy-MM-dd'T'HH:mm:ssxxx

这是引入此增强功能的问题:https ://issues.opennms.org/browse/NMS-10231

还有一些其他地方,它在即将发布的 22.0.4 版本中完成。以下是与在 Web UI 中表示时间问题相关的部分以及每个版本中的内容:https ://issues.opennms.org/browse/NMS-10072

于 2018-09-07T10:21:04.730 回答