Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FinderApi 权限控制问题 #7101

Open
3 tasks done
holwell opened this issue Dec 2, 2024 · 2 comments
Open
3 tasks done

FinderApi 权限控制问题 #7101

holwell opened this issue Dec 2, 2024 · 2 comments
Labels
area/core Issues or PRs related to the Halo Core kind/improvement Categorizes issue or PR as related to a improvement.

Comments

@holwell
Copy link

holwell commented Dec 2, 2024

前置条件

  • 已经在 Issues 列表中搜索了相关问题。
  • 这是和 Halo 相关的特性,如果是非项目本身的问题,建议在 Discussions 提交。
  • 如果是插件和主题特性建议,请在对应的插件和主题仓库提交。

你当前使用的版本

2.20.0

描述一下此特性

  • 问题
    在首页 index.html 中,使用该页面模板自带的 post.items 遍历时,目录会根据登录状态而决定是否显示 “私有” 文章。但是,如果使用 FinderApi 的 postFinder.listAll() 时,无论登录与否,它就只显示公开的文章。

  • 建议
    给 postFinderApi 也添加和页面模板中一样的权限控制,即根据登录状态决定是否包含私有文章。

附加信息

No response

@ruibaby
Copy link
Member

ruibaby commented Dec 4, 2024

/kind improvement
/area core

@f2c-ci-robot f2c-ci-robot bot added kind/improvement Categorizes issue or PR as related to a improvement. area/core Issues or PRs related to the Halo Core labels Dec 4, 2024
@holwell
Copy link
Author

holwell commented Dec 11, 2024

/kind improvement /area core

大佬,还是这个 FinderApi 权限控制问题,我就不重新提 issue了。不过这次不是 postFinder.listAll() 而是 postFinder.getByName(postName) 麻烦帮我看下目前条件下有什么替代方案能实现下面的需求。

  • 需求
    通过 post.metadata.name 获取私有文章对象,进而获取文章正文 post.contnt.content
  • 应用场景
    使用文章分类替代瞬间插件,并在分类归档页显示包括私有文章在内的所有文章正文,即在前台的瞬间分类页显示包括私有瞬间在内的所有瞬间。
  • 实现描述
    在该分类归档下 thymeleaf 有自带的模板变量 posts : [UrlContextListResult<ListedPostVo>],它会包含私有文章在内的所有文章,但其中的文章变量 <ListedPostVo> 与文章页的 PostVo 变量不同的是,它仅含有文章摘要 excerpt 而不包含正文 content.contnet。所以,对于文章正文,只能通过 post.metadata.namepostFinder.getByName(postName) Api 重新获取 postVo 文章对象。但是,由于 postFinder 权限问题,它似乎无法通过私有文章的 post.metadata.name 获取到私有文章对象。
    那么在目前情况下,还有什么替代方案能实现这样一个需求吗?感谢🙏这是我的瞬间分类实现效果 https://lihouwei.com/categories/moments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core Issues or PRs related to the Halo Core kind/improvement Categorizes issue or PR as related to a improvement.
Projects
None yet
Development

No branches or pull requests

2 participants