EZ Publish/EZ Publish 登录后高级重定向
来自站长百科
EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他 |
在eZ Publish 3.8 这,可以配置用户登录后的重定向页面。参阅如下步骤:
- 1. 在用户类中添加一个“文本行”数据类型的属性。如果有多个用户类并希望对所有用户类启用高级重定向,需要为每个用户类添加这个属性(确保所有的属性使用相同的标识符)。
- 2. 在"settings/siteaccesses/example/site.ini.append.php"中的"[UserSettings]"配置"LoginRedirectionUriAttribute"。如下:
LoginRedirectionUriAttribute[key]=attribute_id
key | 可以使用两种键值:"user"代表用户类或"group"代表用户组类 |
attribute_id | 新添加的类属性标识符(不是类属性ID) |
- 现在在创建/编辑用户的时候,可以在文本行字段指定重定向URI。
- 可以对整个用户组指定重定向URI。这意味着也需要在用户组类中添加这个属性并在"LoginRedirectionUriAttribute"中用"group"作为键值。
例1
假设用户"John"登录系统后必须被重定向到"News"文件夹。参阅如下步骤:
- 1. 在管理界面中选择“设置”标签,然后在左侧选择“类”并选择“用户”类组。应该可以看到指派到这一组的类。找到用户类并点击“编辑”按钮。系统会显示类编辑界面。从下拉框中选择“文本行”数据类型,点击“添加属性”按钮并做如下编辑。
点击“确定”保存您的修改。
- 2. 在"LoginRedirectionUriAttribute"指定新加入的类属性的标识符。应该在"site.ini"重设文件中"[UserSettings]"下添加如下内容:
LoginRedirectionUriAttribute[user]=redirection_uri
"redirection_uri"为属性标识符。
- 3. 在管理界面中选择“用户帐号”标签,通过“子项目”列表找到用户"John"并点击“编辑”按钮。系统会显示编辑界面。在"Redirection URI"字段中输入"/news"。参阅下图。
点击“发布”按钮保存您的修改。用户"John"登录系统后总是会被重定向到"News"文件夹。
例2
假设希望将所有"Guest accounts“组下的用户重定向到"News"文件夹。参阅如下步骤:
- 1. 编辑用户组类并添加如下文本行属性:
- 2. 在"site.ini"重设文件中"[UserSettings]"下添加如下内容:
LoginRedirectionUriAttribute[group]=start_page
"start_page"为类属性标识符。
- 3. 编辑"Guest accounts“用户组并在"Start page"中指定"/news"。如下图。
点击“发布”按钮保存修改,则所有位于"Guest accounts"下的用户在登录系统后都会被重定向到"News"文件夹。
重要说明
如果一个用户属于多个组(多个“用户组”节点的子节点),系统会使用“主”用户组(主父节点)。下图演示了属于两个组("Guest accounts"和"Editors")的用户"John"的用户界面。“位置”列表可以用来查看和管理用户对象的位置。主位置名称用粗体显示(在本例中"Users/Guest accounts/John Doe")。
请注意,如果重定向URI 已经通过其它方法设置了(如:通过"LastAccessURI" session 变量)。假设已经为用户"John"指定"/news"为重定向URI。如果"John"打开浏览器并直接直接访问"http://yoursite.com/media_files",那么他登录之后不会被重定向到"http://yoursite.com/news"。