我在Windows 2008服务器上使用OTRS 3.2.11。我对Kernel / Output / HTML / NotificationUIDCheck.pm文件做了一些修改,以摆脱“不使用超级用户帐户......”的Red warninig消息。 现在消息不再出现,但日志文件连续显示此消息:
[Sun May 18 07:59:54 2014][Error][Kernel::Output::HTML::Layout::NavigationBar][2932] Module Kernel/Output/HTML/NotificationUIDCheck.pm not found/could not be loaded!
这是NotificationUIDCheck.pm正在运行:
package Kernel::Output::HTML::NotificationUIDCheck;
use strict;
use warnings;
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
# get needed objects
for (qw(ConfigObject LogObject DBObject LayoutObject UserID)) {
$Self->{$_} = $Param{$_} || die "Got no $_!";
}
return $Self;
}
原始文件就像:
package Kernel::Output::HTML::NotificationUIDCheck;
use strict;
use warnings;
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
# get needed objects
for (qw(ConfigObject LogObject DBObject LayoutObject UserID)) {
$Self->{$_} = $Param{$_} || die "Got no $_!";
}
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
# return if it's not root@localhost
return '' if $Self->{UserID} != 1;
# show error notfy, don't work with user id 1
return $Self->{LayoutObject}->Notify(
Priority => 'Error',
Link => '$Env{"Baselink"}Action=AdminUser',
Data =>
'$Text{"Don\'t use the Superuser account to work with OTRS! Create new Agents and work with these accounts instead."}',
);
}
1;
我猜想有什么东西可以帮助你们找出解决方法!
答案 0 :(得分:0)
首先,我不确定为什么要修改“不要使用超级用户帐户”警告,而不是使用超级用户帐户!!
有一个原因是您实际上不想使用此帐户,并且在您使用它时ACL不适用,并且默认情况下SuperUser帐户将是电子邮件创建的所有故障单的所有者和/或客户门户网站。
即便如此,如果您不想看到错误消息,您应该将其添加到Kernel/Config.pm
文件中以禁用检查:
$Self->{'Frontend::NotifyModule'}->{'200-UID-Check'}
这样就不需要更改代码了。
答案 1 :(得分:-1)
我得到了它固定的人确实sub run
丢失了,这里完整的代码工作没有日志错误:
package Kernel::Output::HTML::NotificationUIDCheck;
use strict;
use warnings;
sub new {
my ( $Type, %Param ) = @_;
# allocate new hash for object
my $Self = {};
bless( $Self, $Type );
# get needed objects
for (qw(ConfigObject LogObject DBObject LayoutObject UserID)) {
$Self->{$_} = $Param{$_} || die "Got no $_!";
}
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
# return if it's not root@localhost
return '' if $Self->{UserID} != 1;
}
1;