Web2py 中的命令行身份验证

发布于 2024-11-19 06:55:56 字数 135 浏览 5 评论 0原文

我使用 web2py 为我的项目制作了一个 Web 界面,并使用 pam 配置了登录。现在我必须为此制作一个 CLI。我找不到任何可以验证用户身份的方法(我们可以假设我想要验证的用户已经登录到配置了 pam 并运行 web2py 的 Linux 机器上)。

I have made a web interface for my project using web2py and configured login with pam. Now i have to make a CLI for the same. I could not find any way i can authenticate the user (we can assume that the user i want to authenticate is already logged in on the linux machine configured with pam and running web2py).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谎言 2024-11-26 06:55:56

首先,您需要找出登录用户的名称:

username = os.getlogin()

然后强制登录:

from gluon.storage import Storage
from uuid import uuid4
session.auth = Storage(user=user, last_visit=request.now,
                                   expiration=auth.settings.expiration,
                                   hmac_key = str(uuid4())

我们将添加一个身份验证方法来在一行中执行此操作。

First you need to find out the name of the logged in user:

username = os.getlogin()

Then you force a login:

from gluon.storage import Storage
from uuid import uuid4
session.auth = Storage(user=user, last_visit=request.now,
                                   expiration=auth.settings.expiration,
                                   hmac_key = str(uuid4())

we are about to add a auth method to do this in one line.

恋竹姑娘 2024-11-26 06:55:56

补充一下 Massimo 所说的,现在已经实现了这一单行登录。您可以使用以下代码来执行此操作:

#User_id is whatever the id is for the user you are forcing them to log in to
auth.login_user(user_id)

我在书中找不到任何有关此内容的文档,但您可以自己在源代码中的 gluon.tools 模块中查看该方法。

To add to what Massimo said, this one-line login has been implemented now. You can do so using the following code:

#User_id is whatever the id is for the user you are forcing them to log in to
auth.login_user(user_id)

I couldn't find any documentation on this in the book but you can take a look at the method yourself in the gluon.tools module in the source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文