【发布时间】:2012-09-03 22:46:58
【问题描述】:
我是 ASP.NET 4.0 和 C# 的新手。如果我想根据使用 web.sitemap 登录的用户隐藏/显示菜单项,我必须使用一个角色并在 web.config 中设置它。我想请问,我在哪里可以得到这个角色?
【问题讨论】:
标签: c# web-config asp.net-4.0 roles web.sitemap
我是 ASP.NET 4.0 和 C# 的新手。如果我想根据使用 web.sitemap 登录的用户隐藏/显示菜单项,我必须使用一个角色并在 web.config 中设置它。我想请问,我在哪里可以得到这个角色?
【问题讨论】:
标签: c# web-config asp.net-4.0 roles web.sitemap
if (User.IsInRole("rolename")) {
// what you wan't to do.
}
【讨论】:
Website Configuration Manager 工具并使用它设置您的角色等等。
如果您真的是 ASP.NET 新手,则需要了解用户和角色。尝试将 Membership API 与“登录”等标准元素一起使用。之后,您必须使用自定义数据结构编写自己的用户和角色提供程序。然后,使用@Randolf R-F 语句。
【讨论】:
您需要使用 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.
}
【讨论】:
如果我理解正确,您是说您打开了一个 asp.net Web 应用程序项目,并且您想知道如何创建用户并为他们分配角色。
如果您当前将 web.config 配置为使用角色管理器和成员资格提供程序的默认提供程序,那么 asp.net 将处理所有棘手的事情。您唯一需要做的就是转到菜单栏并选择“项目-> ASP.NET 配置”。这将打开一个用于创建用户和角色然后分配它们的 GUI。它应该是一个非常不言自明的工具。这也应该满足您的 web.config 使用要求。
正如上面的建议,如果您有用户登录,您可以执行以下操作:
if (User.IsInRole("rolename")) { // 你想做什么。 }
或者(最适合您的 atm)您应该尝试在工具箱中使用 logInView 控件。(我认为这就是所谓的)使用这些控件进行一些谷歌搜索,它会让您越过界限。
【讨论】: