Browse Source

fix: 用户名超过64字符,命令无法记录问题

pull/5491/head
xinwen 4 years ago committed by 老广
parent
commit
dd9a55bd5f
  1. 7
      apps/terminal/backends/command/serializers.py

7
apps/terminal/backends/command/serializers.py

@ -9,7 +9,7 @@ class SessionCommandSerializer(serializers.Serializer):
"""使用这个类作为基础Command Log Serializer类, 用来序列化"""
id = serializers.UUIDField(read_only=True)
user = serializers.CharField(max_length=64, label=_("User"))
user = serializers.CharField(label=_("User")) # 限制 64 字符,见 validate_user
asset = serializers.CharField(max_length=128, label=_("Asset"))
system_user = serializers.CharField(max_length=64, label=_("System user"))
input = serializers.CharField(max_length=128, label=_("Command"))
@ -25,6 +25,11 @@ class SessionCommandSerializer(serializers.Serializer):
risk_mapper = dict(AbstractSessionCommand.RISK_LEVEL_CHOICES)
return risk_mapper.get(obj.risk_level)
def validate_user(self, value):
if len(value) > 64:
value = value[:32] + value[-32:]
return value
class InsecureCommandAlertSerializer(serializers.Serializer):
input = serializers.CharField()

Loading…
Cancel
Save