Skip to content

Commit

Permalink
fix (jperm): 修复密码添加和更新 role时 密码过长引起的bug (jumpserver#202)
Browse files Browse the repository at this point in the history
1. 修改password字段的长度,对称加密过后的字符串会变长,所有设置得比较大(512)
2. 修改后端检查密码长度,并触发异常。
  • Loading branch information
yumaojun03 authored and ibuler committed Apr 20, 2016
1 parent c9ff235 commit 9be13cf
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion jperm/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def __unicode__(self):
class PermRole(models.Model):
name = models.CharField(max_length=100, unique=True)
comment = models.CharField(max_length=100, null=True, blank=True, default='')
password = models.CharField(max_length=128)
password = models.CharField(max_length=512)
key_path = models.CharField(max_length=100)
date_added = models.DateTimeField(auto_now=True)
sudo = models.ManyToManyField(PermSudo, related_name='perm_role')
Expand Down
4 changes: 4 additions & 0 deletions jperm/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,8 @@ def perm_role_add(request):
if name == "root":
raise ServerError(u'禁止使用root用户作为系统用户,这样非常危险!')
default = get_object(Setting, name='default')
if len(password) > 64:
raise ServerError(u'密码长度不能超过64位!')

if password:
encrypt_pass = CRYPTOR.encrypt(password)
Expand Down Expand Up @@ -446,6 +448,8 @@ def perm_role_edit(request):
role_sudo_names = request.POST.getlist("sudo_name")
role_sudos = [PermSudo.objects.get(id=sudo_id) for sudo_id in role_sudo_names]
key_content = request.POST.get("role_key", "")
if len(role_password) > 64:
raise ServerError(u'密码长度不能超过64位!')

try:
if not role:
Expand Down

0 comments on commit 9be13cf

Please sign in to comment.