当前位置: 首页 > 知识库问答 >
问题:

在Moodle上配置Kerberos SSO:KRB5KDC_ERR_PREAUTH_REQUIRED

唐健
2023-03-14

我试图在Moodle中设置kerberos SSO,但是我得到了一个错误代码:KRB5KDC_ERR_PREAUTH_REQUIRED(25):

1)我已经在Apache上配置了kerberos:安装了kerberos,通过/etc/krb5.cnf进行了配置,并通过kinit命令进行了测试,获得了正确的kerberos票据

2)我已经在Apache中创建了一个虚拟主机,其中包含用于测试的kerberos身份验证文件夹:创建一个keytab文件,通过kerberos测试的身份验证在测试虚拟站点中工作。我获得LDAP REMOTE_USER信息并通过身份验证,同时生成kerberos通信量(用wireshark获取kerberos通信量)。工作

3)配置虚拟主机使用kerberos对moodle进行身份验证:如moodle文档所示。

Moodle Kerberos SSO文档

4)配置了Moodle的LDAP auth插件:使用LDAP用户登录可以正常工作

Enable = yes
Subnetwork = 192.168.0.0/16
Authentication type = kerberos
Username format = (none)

<VirtualHost *:80>
        # General
        ServerAdmin myemail@domain.com
        DocumentRoot /home/moodle/moodle
        ServerName mymoodle.es  
        LogLevel debug
        ErrorLog logs/testing-error.log
        CustomLog logs/testing.log combined

        <Location /krb_testing>
          ## Redes para las que se ofrece SSO
          AuthType Kerberos
          AuthName "Kerberos Login"

          KrbMethodNegotiate On
          KrbMethodK5Passwd Off
          KrbServiceName HTTP/mymoodle.es@MYREALM.DOMAIN.ES
          KrbAuthRealms MYREALM.DOMAIN.ES  
          Krb5KeyTab      /etc/krb5.keytab

          ## Sin require valid-user no se produce la negociacion
          require valid-user
        </Location>

        <Directory /home/moodle/moodle/auth/ldap/>
        <Files ntlmsso_magic.php>
            AuthName "Moodle"
            AuthType Kerberos
            KrbAuthRealms MYREALM.DOMAIN.ES
            KrbServiceName HTTP/mymoodle.es@MYREALM.DOMAIN.ES
            Krb5KeyTab      /etc/krb5.keytab
            KrbMethodNegotiate on
            KrbMethodK5Passwd on
            KrbAuthoritative on
            require valid-user
        </Files>
        </Directory>           
</VirtualHost>

共有1个答案

冯宏浚
2023-03-14

今天我在配置SSO(Kerberos)时也遇到了类似的情况。当我设置-KrbServiceName HTTP时,我解决了这个问题

您应该将KrbServiceName HTTP/mymoodle.es@myrealm.domain.es替换为KrbServiceName HTTP,然后SSO就可以正常工作了。

 类似资料:
  • Moodle 是一个基于模块化设计,采用面向对象方式开发的课程管理系统。帮助教学人员创建高效的在线学习组织。 根据 GNU 通用公共许可证,Moodle 作为开源软件免费提供。任何人都可以为商业和非商业项目改编,扩展或修改 Moodle,而无需支付任何许可费用,并且受益于使用 Moodle 的成本效益,灵活性和其他优势。                       Moodle 是基于 Web 的

  • 问题内容: 我可以在配置Jenkins以使用yslow方面获得帮助吗? 我在yslow的闪电演讲中看到,可以使用CI来实现它,但是它并没有提供太多有关如何执行此操作的信息。我在google上搜索了yslow和CI或jenkins,已经做了很多工作,却找不到任何东西。 有人能指出我正确的方向吗? 问题答案: 抱歉,似乎有人为PahntomJS Wiki页面破坏了YSlow,但又 回来了,请在以下位置

  • 我想用P6Spy和Quarkus一起使用,但无法按照一般说明配置它。有人设法让这两个人一起工作吗?

  • 我正在尝试配置我的jetty环境,使其能够有一个安全的连接。 我运行了官方jetty文档中描述的步骤:https://www.eclipse.org/jetty/documentation/9.4.31.v20200723/jetty-ssl-distribution.html。但没有成功.. 重新创建的步骤: java-jar start.jar--create-startd--add-to-s

  • 我有SonarQube和Jenkins dockerized(它们在不同的容器上运行);sonar在localhost:9000上运行,Jenkins在localhost:8080上运行。我在Jenkins上配置了Sonar凭据(使用acces令牌),但在运行SonarScanner时,我在Jenkins上得到了SonarScaner的以下错误: 我如何解决这个问题,或者使两个容器彼此通信?

  • BitNami Moodle Stack 是一个 Moodle 一键安装软件包。 Moodle是一个基于模块化设计,采用面向对象方式开发的课程管理系统。帮助教学人员创建高效的在线学习组织。