0

我是 ASP.NET 4.0 和 C# 的新手。如果我想根据使用 web.sitemap 登录的用户隐藏/显示菜单项,我必须使用一个角色并在 web.config 中设置它。我想问,在哪里我能得到那个角色吗?

4

4 回答 4

2
if (User.IsInRole("rolename")) {
  // what you wan't to do.
}
于 2012-09-11T03:59:37.313 回答
0

您需要使用 IPrincipal 来存储角色。

GenericIdentity userIdentity = new GenericIdentity((FormsIdentity)HttpContext.Current.User.Identity.Name);

string[] roles = { "rolename1", "rolename2", "rolename3" };
GenericPrincipal userPrincipal = new GenericPrincipal(userIdentity, roles);
Context.User = userPrincipal;

然后您可以检查用户角色

if (User.IsInRole("rolename1")) {
  // what you wan't to do.
}
于 2012-09-11T04:58:05.550 回答
0

如果您真的是 ASP.NET 新手,您需要了解用户和角色。尝试将 Membership API 与“登录”等标准元素一起使用。之后,您必须使用自定义数据结构编写自己的用户和角色提供程序。然后,使用@Randolf RF 语句。

于 2012-09-11T04:04:37.003 回答
0

如果我理解正确,您是说您打开了一个 asp.net Web 应用程序项目,并且您想知道如何创建用户并为他们分配角色。

如果您当前将 web.config 配置为使用角色管理器和成员资格提供程序的默认提供程序,那么 asp.net 将处理所有棘手的事情。您唯一需要做的就是转到菜单栏并选择“项目-> ASP.NET 配置”。这将打开一个用于创建用户和角色然后分配它们的 GUI。它应该是一个非常不言自明的工具。这也应该满足您的 web.config 使用要求。

如上所述,如果您让用户登录,则可以执行以下操作:

if (User.IsInRole("rolename")) { // 你不想做什么。}

或者(最适合你的 atm)你应该尝试在你的工具箱中使用 logInView 控件。(我认为这就是它的名字)对使用这些控件进行一些谷歌搜索,它会让你越过界限。

于 2012-09-11T05:14:48.523 回答