所以我想为一次性用户禁用所需的密码更改。 我正在运行这个本地,测试它直到它工作,因为我想要它。
我制作了一个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
文件而不是控制面板完成,因为此文件是在多个服务器上进行的,
所以它的残疾人。以及未来的服务器。
任何人都有自己的想法,或者我需要什么?
提前致谢
答案 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中配置,所以没有办法禁用它 那样。
因此无法获得我正在寻找的结果。
答案 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
新用户登录时
条款及条件
密码提醒
成功登录
答案 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