使用portal-ext.properties禁用默认密码策略

时间:2015-04-14 08:31:12

标签: liferay

所以我想为一次性用户禁用所需的密码更改。 我正在运行这个本地,测试它直到它工作,因为我想要它。

我制作了一个portal-ext文件,其中包含以下内容:

company.security.auth.type=screenName
users.screen.name.allow.numeric=true
terms.of.use.required=false
users.reminder.queries.enabled=false
passwords.default.policy.changeable=true
passwords.default.policy.change.required=false
users.reminder.queries.custom.question.enabled=false

users.last.name.required=false
users.email.address.required=false

passwords.toolkit=com.liferay.portal.security.pwd.RegExpToolkit
passwords.regexptoolkit.charset=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghilmnopqrstuv
passwords.regexptoolkit.length=8
passwords.regexptoolkit.pattern=.+

如您所见,我已将passwords.default.policy.change.required设置为false。 但是当我第一次使用用户登录时,它仍会显示"更改密码"屏幕,它不应该。

需要从portal-ext文件而不是控制面板完成,因为此文件是在多个服务器上进行的, 所以它的残疾人。以及未来的服务器。

任何人都有自己的想法,或者我需要什么?

提前致谢

5 个答案:

答案 0 :(得分:2)

添加属性时

  

passwords.default.policy.changeable=true

这意味着允许用户更改密码。另一方面,当您设置属性时,

  

passwords.default.policy.change.required=false

这意味着用户必须更改密码。在这里,您将其设置为false。所以我们不应该得到“更改密码”屏幕。

我建议尝试从portal-ext.property文件中删除可更改的属性。

  

passwords.default.policy.changeable=true

答案 1 :(得分:2)

再看看liferay论坛,我发现了一篇关于这个帖子的帖子,其中一位liferay员工发布了这个答案:

  

不幸的是,您无法使用默认密码策略   在portal(-ext).properties中配置,所以没有办法禁用它   那样。

因此无法获得我正在寻找的结果。

Source

答案 2 :(得分:2)

  

块引用   所以我想为一次性用户禁用所需的密码更改。我正在运行这个本地,测试它直到它工作,因为我想要它。   块引用

如果您想要对用户密码进行无法更改,请使用此门户网站属性: passwords.default.policy.change.required =假

答案 3 :(得分:1)

@Patrick R这是我使用的portal-ext。查看新用户登录的屏幕截图。我不确定这是否能解决您的问题。请仔细检查属性。

 #jdbc.default.jndi.name=jdbc/LiferayPool
    jdbc.default.driverClassName=com.mysql.jdbc.Driver
    jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
    jdbc.default.username=root
    jdbc.default.password=root

    soas.database.name=soasdb
    soas.database.username=root
    soas.database.password=root
    soas.database.hostname=localhost
    soas.database.connection=jdbc:mysql://localhost/soasdb?user=root&password=root
    soas.servicepartner.name=localhost



    json.service.auth.token.hosts.allowed=127.0.0.1
    json.service.auth.token.enabled=false
    jsonws.web.service.public.methods=*
    jsonws.servlet.hosts.allowed=127.0.0.1


    users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator


    ldap.base.provider.url= ldap://localhost:389
    ldap.base.dn= dc=soas,dc=schoox
    ldap.security.principal= cn=admin
    ldap.security.credentials= blahblah
    auth.pipeline.pre=com.liferay.portal.security.auth.LDAPAuth

    ldap.auth.enabled=true
    ldap.auth.required=false
    ldap.password.policy.enabled=true
    ldap.users.dn= dc=soas,dc=schoox
    ldap.groups.dn= dc=soas,dc=schoox

    ldap.import.enabled=true
    ldap.import.interval=1
    ldap.import.on.startup=true

    ldap.import.method=group
    ldap.import.group.search.filter.enabled=true


    ldap.import.user.password.enabled=false
    ldap.import.user.password.autogenerated=false
    ldap.import.user.password.default=userPassword


    ldap.user.mappings=screenName=uid\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sn
    #ldap.user.mappings=screenName=cn\npassword=userPassword\nemailAddress=mail\nfirstName=cn\nlastName=sn
    #ldap.user.mappings=screenName=displayName\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sn

    ldap.group.mappings=groupName=cn\ndescription=description\nuser=member
    ldap.import.user.search.filter=(objectClass=inetOrgPerson)
    ldap.import.group.search.filter=(objectClass=groupOfEntries)
    ldap.auth.search.filter=(uid=@screen_name@)




    axis.servlet.hosts.allowed=
    axis.servlet.https.required=false
    company.security.auth.type=screenName
    search.container.show.pagination.top=false
    setup.wizard.enabled=false

新用户登录时

enter image description here

条款及条件

enter image description here

密码提醒

enter image description here

成功登录

enter image description here

答案 4 :(得分:0)

我同意Olaf Kock。我目前正在从 6.2 升级 Liferay DXP 7.2,我面临着相同的问题,即在首次用户通过 Kerberos SSO 登录时更改密码屏幕。

我在 UserLocalServiceImpl 中完成了 Liferay 代码库的 addUserWithWorkflow 方法,我还验证了用于处理密码策略的数据库表,其中包含用于配置密码可更改和更改所需设置的这些列。在第一次 addUser 期间,如果 Password Policy 中的列设置为 1 (true),Liferay 表中的 passwordReset 列 - User_ 将设置为 1 (true)。这就是我们在用户登录后看到更改密码提示的原因。

我知道通过 portal-ext.properties 更改此配置的唯一方法是在服务器启动之前第一次设置 Liferay 时,否则,必须在 Liferay 表中应用数据库补丁 - PasswordPolicy 设置以下列为 0(假)。

<块引用>

changeable 和 changeRequired