You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为Distill/Quarto网站添加用户名密码登录功能(基于R)

针对Distill/Quarto静态网站的简易登录验证方案

由于GitHub Pages仅支持静态托管,无法直接实现服务器端身份验证,以下提供客户端JS+R配置的简易登录方案,适合部门内部小范围使用:

步骤1:定义合法用户凭证

创建credentials.R脚本,存储内部用户的用户名和密码:

# credentials.R
valid_users <- list(
  张工 = "dept_zhang_2024",
  李工 = "dept_li_2024"
)

# 转换为JSON格式,供前端JS读取
valid_users_json <- jsonlite::toJSON(valid_users)

步骤2:Distill网站实现登录验证

在你的Distill首页(如index.Rmd)中嵌入登录界面和验证逻辑:

---
title: "部门内部专属网站"
output: distill::distill_article
---

```{r setup, include=FALSE}
# 加载用户凭证配置
source("credentials.R")

内部用户登录

## 步骤3:Quarto迁移适配
后续迁移到Quarto时,逻辑完全一致,仅需将文档后缀改为`.qmd`,YAML格式微调即可:
```markdown
---
title: "部门内部专属网站"
format: html
---

```{r setup, include=FALSE}
source("credentials.R")
## 注意事项
- 该方案为**客户端验证**,密码会以明文形式存在页面源码中,仅适合信任的内部环境,请勿用于存储敏感数据。
- 如果需要更高安全性的验证,建议部署到支持服务器端身份验证的平台(如结合Shiny、Netlify身份服务等)。

内容的提问来源于stack exchange,提问作者braunrs
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:17:26