gpt4 book ai didi

ruby - 具有多个用户的 Sinatra App

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:40 25 4
gpt4 key购买 nike

在 Sinatra 网络应用程序中允许多个用户的最简单方法是什么。我以前使用过允许一个用户名和密码的授权类,但是如果我想允许用户注册一个简单的 Web 应用程序并允许他们使用自己的所有登录凭据怎么办?

非常感谢!

最佳答案

如果 HTTP 基本身份验证就足够了,我建议定义如下两种方法:

helpers do

def protected!
unless authorized?
response["WWW-Authenticate"] = 'Basic realm="Protected Area"'
throw(:halt, [401, "Not authorized\n"])
end
end

def authorized?
@auth ||= Rack::Auth::Basic::Request.new(request.env)
if @auth.provided? && @auth.basic? && @auth.credentials
username,password = @auth.credentials
# verify credentials are correct
end
end

end

调用 protected! 从任何应该被保护的 Action (或使用 before block 来保护一切)。我将凭据验证留给您,因为我不知道您如何存储用户帐户信息。

关于ruby - 具有多个用户的 Sinatra App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6905949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com