首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较HttpContext.User.Identity.Name

问比较HttpContext.User.Identity.Name
EN

Stack Overflow用户
提问于 2014-02-28 23:16:10
回答 2查看 343关注 0票数 1

我正在尝试这样做:

代码语言:javascript
复制
string username = httpContext.User.Identity.Name.ToString();
if (u.Equals(username))
{
    authorise = true;
}

域名和用户名完全相同,字母对应,反斜杠表示反斜杠,大写字母表示大写等。但是变量authorise仍然是假的。不知道为什么。我开始怀疑是否有一种更好的方法可以做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2014-02-28 23:36:18

这可能是某种类型的不匹配。我会在这里写一个单元测试来验证你的假设。

反斜杠可能会有不同的转义方式。您可以尝试在没有这些的情况下进行匹配。

代码语言:javascript
复制
function string CleanAndTrim(string user){
    var cleaned = user.Replace(@"\", "");
    cleaned = user.Replace(@"/", "")
    return cleaned.ToLower().Trim();
}

if(CleanAndTrim(u)==CleanAndTrim(username){
  authorise = true;
}
票数 0
EN

Stack Overflow用户

发布于 2014-02-28 23:42:04

为什么要在字符串上调用.ToString()?为什么要使用if语句来设置布尔值?--直接分配布尔值。试试这个:

代码语言:javascript
复制
string username = httpContext.User.Identity.Name;
authorise = u.Equals(username);

我现在不会担心最佳实践,因为您需要首先了解基础知识。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22098928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档