在Django-Registration中,它表示您可以在保存用户时保存自定义配置文件.
但我不知道文档要求我做什么.这是他们所说的:
要启用自定义用户配置文件的创建
User(例如,AUTH_PROFILE_MODULE设置中指定的模型),请定义一个知道如何使用适当的默认值创建和保存该模型实例的函数,并将其作为关键字参数传递profile_callback.此函数应接受一个关键字参数:
user在
User对相关的配置文件.
有人能举例说明需要创建的函数以及如何将其作为参数传递吗?
PS db是通过最佳实践PDO,因此没有sql注入的风险
谢谢
我在我的rails应用程序中使用Devise进行身份验证,我希望能够阻止某些帐户并阻止用户使用阻止的电子邮件重新注册.我只是不确定最好的方法是什么.
我的第一个想法是覆盖会话和注册控制器来检查具有阻塞位的用户的模型,但我感觉可能有更优雅的方式.
我正处于为iphone/ipad构建应用程序的计划阶段(是的,非常早期的阶段)
我基本上想知道为应用程序进行单独的用户注册过程涉及多少工作,即允许用户注册帐户并使用该帐户登录并使用该应用程序.
这是否涉及构建/编码一个全新的数据库,或者是否有可自动执行此过程的软件?
提前致谢
我正在尝试为密码重置进行验证过程,我使用的是两个值:纪元时间,我想使用用户的旧密码(pbkdf2)作为密钥,
由于我不想获得非ASCII字符,我使用的是SimpleEncode库,因为它很快,因为它只是一个使用了密钥的BASE64,但问题是密码太长(196个字符)所以我得到一个长密钥!
我所做的就是分割结果code = simpleencode.encode(key,asci)[::30],但这不是唯一的!
为了了解它是如何工作的,我尝试了Facebook重置过程,但给出的是一个数字!那么这个过程是如何工作的,难道他们不会使用密钥来让某人伪造链接来重置某人的密码吗?
更新:算法将如何工作:
1-使用epoche获得时间 time.time()
2-生成epoche时间的Base64(用于URL)和纪元时间值+一键,此键为PBKDF2(密码).
3-生成网址www.example.com/reset/user/Base64(time.time())并发送此网址+ simpleencode.encode(key,asci)[::30]
4-当用户点击URL时,他把生成的代码,这个生成的代码,如果它与URL匹配,那么让他修改密码,否则,它是一个忘记URL!
Microsoft产品和其他产品通常具有5组5个字符的产品密钥,如下所示:
ABCDE-12345-ABCDE-12345-VWXYZ
如果密钥有效,产品如何知道?某种密码学?如果我想在我的代码中使用这种产品密钥,是否有库?
我为iOS开发了XMPP聊天客户端,现在我正在研究如何从iOS本身进行新的用户注册.任何人都可以帮助注册新用户的方法.因为它需要与服务器通信并将用户名和密码存储到服务器数据库.请帮助我从2天开始搜索.
我不是Django的高级用户.我在网上看到了很多不同的方法,但它们都是针对修改过的模型,或者太复杂,我无法理解.我正在重复使用UserCreationForm我的MyRegistrationForm
class MyRegistrationForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
def save(self, commit=True):
user = super(MyRegistrationForm, self).save(commit=False)
user.email = self.cleaned_data['email']
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
return user
Run Code Online (Sandbox Code Playgroud)
我很难理解或找到一种方法来检查用户输入的用户名是否已被使用.所以我只是用它来重定向到html,它说错误的用户名或密码不匹配:
def register_user(request):
if request.method == 'POST':
form = MyRegistrationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/register_success')
else:
return render_to_response('invalid_reg.html')
args = {}
args.update(csrf(request))
args['form'] = MyRegistrationForm()
print args
return render_to_response('register.html', args)
Run Code Online (Sandbox Code Playgroud)
这是我的注册模板(如果需要):
{% extends "base.html" %}
{% block content %}
<section>
<h2 style="text-align: center">Register</h2>
<form …Run Code Online (Sandbox Code Playgroud) 更新资料
在firefox的开发工具中检查“网络”选项卡,结果如下:
Response headers (290 B)
Raw headers
Access-Control-Allow-Origin
*
Allow
POST
Cache-Control
no-cache, private
Connection
close
Content-Type
text/html; charset=UTF-8
Date
Sat, 31 Aug 2019 09:45:04 GMT
Date
Sat, 31 Aug 2019 09:45:04 GMT
Host
localhost:8000
X-Powered-By
PHP/7.2.19-0ubuntu0.18.04.2
Request headers (438 B)
Raw headers
* Accept: */* *
Accept-Encoding
gzip, deflate
Accept-Language
en-US,en;q=0.5
Access-Control-Request-Headers
x-csrf-token,x-requested-with,x-xsrf-token
Access-Control-Request-Method
POST
Connection
keep-alive
Host
localhost:8000
Origin
http://127.0.0.1:8000
Referer
http://127.0.0.1:8000/register
User-Agent
Mozilla/5.0 (X11; Ubuntu; Linu…) Gecko/20100101 Firefox/68.0
Run Code Online (Sandbox Code Playgroud)
为什么使用GET方法?尝试从工具中更改它,它表明不允许使用POST方法。另外,在提交请求时,它提供以下信息:
更新资料
我开始对需要我的axios的bootstrap.js文件进行更改,但是没有成功。我尝试改变
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = …Run Code Online (Sandbox Code Playgroud) 我正在设计一个新的Web应用程序,我知道注册过程(创建一个配置文件)对用户来说真的很令人沮丧(对我而言) - 无论我们去哪里,人们都应该注册.如果您强制他们注册,有些人甚至可能会停止使用您的网站.问题是,我真的需要我的用户注册 - 我需要知道他们的行为,以使网站有用.像SO这样的东西.
所以,我需要一些建议,如何让用户无痛苦.
提前致谢!