是否可以禁用ATG的dynadmin登录?

时间:2013-12-18 12:37:22

标签: atg

我们经常使用ATG的发电机管理来测试对各种其他组件所做的更改。有没有办法禁用登录才能打开Dynamo Administration?我们多次观察到它多次询问凭据。任何猜测为什么它这样做以及如何避免这种情况?

3 个答案:

答案 0 :(得分:5)

经过一番挖掘后,我找到了更好的方法。禁用身份验证的更简单方法是禁用AuthenticationServlet中的身份验证。

要获得此DYNAMO_HOME/localconfig/atg/dynamo/servlet/adminpipeline/AuthenticationServlet.properties文件,必须包含以下内容。

$class=atg.servlet.pipeline.BasicAuthenticationPipelineServlet
enabled=false

基本身份验证管道Servlet是将身份验证重定向到其他组件的类,通过更改enabled = false,我们可以禁用身份验证。将其更改为true将启用以前的身份验证。

请点击此链接获取更多信息:Disable DynAdmin authentication of Oracle Commerce

答案 1 :(得分:2)

我通过覆盖Authenticator尝试了它,如果配置中的标志“allowPassThroughEnabled”为真,则返回true。

As BasicAuthenticationServlet Pipeline调用Authenticator来验证用户,如果请求带有带有基本身份验证的Authorization标头。

我过度使用了Authenticator组件,添加了一个布尔属性

allowPassThroughEnabled

启用/禁用身份验证。

属性文件和类文件如下所示:

#/atg/dynamo/servlet/adminpipeline/Authenticator.properties
$class=com.myadminpipeline.CustomUserAuthorityAuthenticator
allowPassThroughEnabled=true

和班级:

package com.myadminpipeline;

import atg.servlet.pipeline.UserAuthorityAuthenticator;

public class CustomUserAuthorityAuthenticator extends
        UserAuthorityAuthenticator {


    private boolean allowPassThroughEnabled;

    public boolean isAllowPassThroughEnabled() {
        return allowPassThroughEnabled;
    }

    public void setAllowPassThroughEnabled(boolean allowPassThroughEnabled) {
        this.allowPassThroughEnabled = allowPassThroughEnabled;
    }

@Override
public boolean authenticate(String pUserId, String pPassword) {

    if (isAllowPassThroughEnabled()){
        return true;
    }

    return super.authenticate(pUserId, pPassword);
}

}

它为我做的工作。您也可以根据您的要求将此标志切换为true或false。

希望这有帮助!

答案 2 :(得分:1)

到目前为止,我无法找到一种方法来完成所需的操作,但我找到了一种解决方法,通过启用lazyAuthentication来避免频繁登录。通过启用ATG的lazyAuthentication功能,每个会话只需要登录一次。如果没有此功能,则会在每隔几分钟不活动后询问登录信息。要启用此功能,请执行以下操作...

  1. 导航至$ DYNAMO_HOME / localconfig / atg / dynamo
  2. 创建名为servlet的文件夹(如果该文件夹尚不存在)
  3. 如果servlet内存不存在,则在servlet中创建名为adminpipeline的文件夹
  4. 创建一个名为Authenticator.properties的属性文件,其中包含以下内容。
  5. 
        $class=atg.servlet.pipeline.UserAuthorityAuthenticator
        $scope=global
        userAuthority=/atg/dynamo/security/AdminUserAuthority
        userPath=/atg/dynamo/security/User
        lazyAthentication=true
        allowedAccounts=administrators-group
        repository=/atg/dynamo/security/AdminSqlRepository