我正在使用Django rest framework基本身份验证,代码如下:
class MyBasicAuthentication(BasicAuthentication):
def authenticate_header(self, request):
return 'xBasic realm="%s"' % self.www_authenticate_realm
class AuthView(APIView):
authentication_classes = (MyBasicAuthentication,)
serializer_class = UserSerializer
def post(self, request, *args, **kwargs):
user = authenticate(username=request.user.username, password=request.user.password)
login(request, user)
response = get_user_basic_info(request.user)
return Response(response)
它工作正常,但我需要使此身份验证不敏感的用户名。有什么建议吗?
答案 0 :(得分:0)
如何为存储在数据库中的用户名选择所有大写或小写字符。 IE全部大写:
<header id="main">
<div class="container-fluid">
<div class="nav">
<img src="images/logo.png" class="logo">
<ul class="left">
<li><a href="#link">link</a></li>
<li><a href="#link">link</a></li>
<li><a href="#link">link</a></li>
<li><a href="#link">link</a></li>
<li><a href="#link">link</a></li>
</ul>
<div class="right">
<div class="dropdown">
<button class="dropbtn">link <span class="caret"></span></button>
<div class="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
</div>
</div>
</div>
</header>
这样输入可以是大小写混合但输出是标准化的。
答案 1 :(得分:0)
最简单的方法是标准化存储用户名的方式(大写或小写为@Upsampled回答),这意味着首先发生的身份验证不会出现问题。如果您想将所有现有用户更改为特定情况,我建议您回答https://stackoverflow.com/a/33456271