这可能是一个基本问题,但是当有HTTP或HTTPS基本身份验证时,是否可以在用户名中使用冒号(“:”)?如果没有,有没有办法逃脱冒号?
答案 0 :(得分:25)
RFC http://tools.ietf.org/html/rfc2617#section-2明确指出用户名不得包含冒号:
要接收授权,客户端会在凭证中的base64 [7]编码字符串中发送用户名和密码,用单个冒号(":#34;)字符分隔。
basic-credentials = base64-user-pass
base64-user-pass = <base64 [4] encoding of user-pass, except not limited to 76 char/line>
user-pass = userid ":" password
userid = * <TEXT excluding ":">
password = *TEXT
基于此,无法在用户名中使用冒号。
答案 1 :(得分:15)
在RFC - http://tools.ietf.org/html/rfc2617#section-2和网络上看,似乎没有用户名冒号的转义技术。你可以拥有的唯一额外的地方是密码字段。
如果是一个选项,您可以替换:在auth级别中使用@并要求用户执行此操作。