User.Identity.Name 有啥问题
Posted
技术标签:
【中文标题】User.Identity.Name 有啥问题【英文标题】:what is the issue with User.Identity.NameUser.Identity.Name 有什么问题 【发布时间】:2011-09-01 19:48:43 【问题描述】:它来自什么命名空间,因为它显示用户在当前上下文中不存在!
这是我的命名空间列表。我应该添加哪一个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Web.Configuration;
using System.Web.Security;
另外一个问题,这样可以检查登录的人是管理员吗?
if (Roles.IsUserInRole(User.Identity.Name, "Administrators"))
【问题讨论】:
这段代码是在页面还是类库中?在类库中,用户应该在 HttpContext.Current 代码在一个简单的类里面..我应该把HttpContext放在哪里? 【参考方案1】:您需要以下命名空间:
using System.Security.Principal;
检查角色的最简单方法是:
User.IsInRole("Administractor");
【讨论】:
【参考方案2】:如果你在一个代码库而不是你需要的网页本身:
HttpContext.Current.User
【讨论】:
以上是关于User.Identity.Name 有啥问题的主要内容,如果未能解决你的问题,请参考以下文章
为啥 SignalR Context.User.Identity.Name 为空?
HttpContext.Current.User.Identity.Name 为空
User.Identity.Name 返回的是 UserName 而不是 Name
HttpContext.Current.User.Identity.Name 为空