<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>iTopCN – 用户账号和配置文件</title><link>/docs/admin/01-managing_user_accounts/</link><description>Recent content in 用户账号和配置文件 on iTopCN</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Fri, 27 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="/docs/admin/01-managing_user_accounts/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: 忘记密码</title><link>/docs/admin/01-managing_user_accounts/forgot_password/</link><pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate><guid>/docs/admin/01-managing_user_accounts/forgot_password/</guid><description>
&lt;div class="pageinfo pageinfo-primary">
&lt;p>iTop 允许最终用户自助重置密码，无需打扰管理员。此功能默认启用（iTop 2.0.2+）。&lt;/p>
&lt;/div>
&lt;h2 id="工作流程">工作流程&lt;/h2>
&lt;ol>
&lt;li>登录页面底部点击链接 → 输入登录名&lt;/li>
&lt;li>iTop 搜索账号 → 发送重置邮件&lt;/li>
&lt;li>用户点击邮件链接 → 获取密码重置表单（不需要旧密码）&lt;/li>
&lt;li>设置新密码（须满足&lt;a href="../password-policy/">密码复杂度策略&lt;/a>）&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="https://www.itophub.io/wiki/media?media=3_2_0:admin:forgot_password_1.png" alt="登录页面">&lt;/p>
&lt;p>&lt;img src="https://www.itophub.io/wiki/media?media=3_2_0:admin:forgot_password_5.png" alt="更改密码">&lt;/p>
&lt;h2 id="安全注意事项">安全注意事项&lt;/h2>
&lt;ul>
&lt;li>发送给用户的链接为一次性使用链接&lt;/li>
&lt;li>如果用户多次尝试重置密码，只有最新链接有效&lt;/li>
&lt;/ul>
&lt;h2 id="配置">配置&lt;/h2>
&lt;p>由于该功能依赖发送邮件，首先必须确保 iTop 能够发送邮件。使用页面 &lt;code>/setup/email.test.php&lt;/code> 检查邮件功能是否正常。邮件配置请参考&lt;a href="https://www.itophub.io/wiki/page?id=3_2_0:admin:password-policy">邮件配置&lt;/a>。&lt;/p>
&lt;p>注意：此类邮件同步发送，即使邮件配置为异步发送。&lt;/p>
&lt;p>此外，该功能还依赖账号数据：&lt;/p>
&lt;ul>
&lt;li>用户必须是 iTop 用户类型（对 LDAP 用户无效）&lt;/li>
&lt;li>用户账号必须关联一个联系人&lt;/li>
&lt;li>联系人必须配置有效的电子邮件地址&lt;/li>
&lt;/ul>
&lt;p>如果没有任何用户需要此功能，可以在 iTop 配置文件中设置 &lt;code>forgot_password&lt;/code> 参数为 &lt;code>false&lt;/code> 来禁用它。禁用时，登录页面上的超链接将消失。&lt;/p>
&lt;h2 id="前提条件">前提条件&lt;/h2>
&lt;ol>
&lt;li>配置中启用忘记密码功能（默认启用）&lt;/li>
&lt;li>用户账号关联电子邮件地址&lt;/li>
&lt;li>已配置邮件发送功能&lt;/li>
&lt;/ol>
&lt;h2 id="错误处理">错误处理&lt;/h2>
&lt;p>如果某个用户不满足使用此功能的条件，该功能将不可用。以下是失败尝试的截图示例：&lt;/p>
&lt;hr>
&lt;p>原文：&lt;a href="https://www.itophub.io/wiki/page?id=3_2_0:admin:forgot_password">https://www.itophub.io/wiki/page?id=3_2_0:admin:forgot_password&lt;/a>&lt;/p>
&lt;p>Last modified: 2025/03/10 10:24 by127.0.0.1&lt;/p>
&lt;p>版本：3_2_0/admin/forgot_password.txt · Last modified: 2024/09/10 10:25 by 127.0.0.1&lt;/p></description></item><item><title>Docs: 密码复杂度策略</title><link>/docs/admin/01-managing_user_accounts/password-policy/</link><pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate><guid>/docs/admin/01-managing_user_accounts/password-policy/</guid><description>
&lt;div class="pageinfo pageinfo-primary">
&lt;p>管理员可配置密码复杂度策略，确保用户使用安全的密码。&lt;/p>
&lt;/div>
&lt;h2 id="默认策略">默认策略&lt;/h2>
&lt;p>创建新的本地用户账号或更改本地用户密码时，iTop 会应用密码策略，通过正则表达式检查密码复杂度。&lt;/p>
&lt;p>默认情况下，密码必须满足：&lt;/p>
&lt;ul>
&lt;li>至少包含一个小写字母&lt;/li>
&lt;li>至少包含一个大写字母&lt;/li>
&lt;li>至少包含一个数字&lt;/li>
&lt;li>至少包含一个特殊字符&lt;/li>
&lt;li>长度超过 8 个字符&lt;/li>
&lt;/ul>
&lt;p>其他注意事项：&lt;/p>
&lt;ul>
&lt;li>现有密码不受影响&lt;/li>
&lt;li>安装期间创建的 admin 账号不受影响&lt;/li>
&lt;li>所有更改密码的方式均受影响，但 CSV 导入和数据同步除外（已知限制）&lt;/li>
&lt;li>管理员无法绕过策略，但可以修改策略配置&lt;/li>
&lt;/ul>
&lt;h2 id="配置">配置&lt;/h2>
&lt;p>默认设置不会显式出现在配置文件中，但格式如下：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-php" data-lang="php">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">$MyModuleSettings&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;authent-local&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span> &lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;password_validation.pattern&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">),&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="禁用策略">禁用策略&lt;/h3>
&lt;p>如需禁用密码模式匹配策略，将正则表达式设为空字符串：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-php" data-lang="php">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">$MyModuleSettings&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;authent-local&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;password_validation.pattern&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">),&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="自定义策略">自定义策略&lt;/h3>
&lt;p>如需应用自己的策略，只需编写相应的正则表达式。建议使用 &lt;a href="https://regex101.com/">regex101.com&lt;/a> 测试正则表达式。&lt;/p>
&lt;p>例如，强制密码长度在 6 到 15 个字符之间：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-php" data-lang="php">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">$MyModuleSettings&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;authent-local&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;password_validation.pattern&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;.{6,15}&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;password_validation.message&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#204a87;font-weight:bold">array&lt;/span>&lt;span style="color:#000;font-weight:bold">(&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;FR FR&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;Le mot de passe doit faire en 6 et 15 caractères de long&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#4e9a06">&amp;#39;EN US&amp;#39;&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">=&amp;gt;&lt;/span> &lt;span style="color:#4e9a06">&amp;#39;Password length must be between 6 and 15 characters&amp;#39;&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">),&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000;font-weight:bold">),&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000;font-weight:bold">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>设置密码验证提示信息时，可以使用翻译键 &lt;code>Error:UserLocalPasswordValidator:UserPasswordPolicyRegex/ValidationFailed&lt;/code>，或使用配置键 &lt;code>password_validation.message&lt;/code>：&lt;/p>
&lt;ul>
&lt;li>配置键优先级高于翻译键&lt;/li>
&lt;li>可以是字符串或按语言分类的数组&lt;/li>
&lt;li>如果使用数组，&lt;code>EN US&lt;/code> 条目将作为用户语言未找到时的回退&lt;/li>
&lt;/ul>
&lt;h3 id="其他策略">其他策略&lt;/h3>
&lt;p>可以通过扩展引入&lt;a href="https://www.itophub.io/wiki/page?id=3_2_0:admin:password-policy">其他密码策略&lt;/a>。&lt;/p>
&lt;h2 id="密码过期">密码过期&lt;/h2>
&lt;p>LocalUser 类新增了两个原生字段：&lt;code>expiration&lt;/code> 和 &lt;code>password_renewed_date&lt;/code>。&lt;/p>
&lt;ul>
&lt;li>&lt;code>password_renewed_date&lt;/code> 在密码更改时自动填充&lt;/li>
&lt;li>&lt;code>expiration&lt;/code> 标志允许定义过期规则&lt;/li>
&lt;/ul>
&lt;p>如需实现密码过期策略，请参考&lt;a href="https://www.itophub.io/wiki/page?id=3_2_0:admin:password-policy">相关指南&lt;/a>。&lt;/p>
&lt;hr>
&lt;p>原文：&lt;a href="https://www.itophub.io/wiki/page?id=3_2_0:admin:password-policy">https://www.itophub.io/wiki/page?id=3_2_0:admin:password-policy&lt;/a>&lt;/p>
&lt;p>Last modified: 2025/03/10 10:24 by127.0.0.1&lt;/p>
&lt;p>版本：3_2_0/admin/password-policy.txt · Last modified: 2025/03/10 10:24 by 127.0.0.1&lt;/p></description></item></channel></rss>