2012-09-11 39 views
0

我在ASP.NET 4.0和C#新的..如果我想根据用户登录使用web.sitemap中隐藏/显示菜单项,我必须用一个角色,并设置以获得一个角色它在web.config ..我想问,我可以在那里得到这个角色?如何使用asp.net 4.0

回答

2
if (User.IsInRole("rolename")) { 
    // what you wan't to do. 
} 
+0

我想知道,我可以在哪里得到“角色名”?或者我可以放任何名字? – student

+0

不可以。您可以放置​​用户所属角色的角色名称。你从你的网站配置中获得。请参阅“网站配置管理器”工具并使用它设置您的角色等。 –

0

如果你真的新的ASP.NET,你需要了解用户和角色。尝试使用“Login”等标准元素的Membership API。之后,您必须使用自定义数据结构编写自己的用户和角色提供程序。然后,使用@Randolf R-F语句。

+0

好的,谢谢你的建议.. – student

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. 
} 
0

如果我理解正确的话,你说你有一个asp.net web应用项目开放,你想知道如何创建一个用户并为他们分配一个角色。

如果您当前的web.config配置为使用rolemanager和会员提供的默认提供再asp.net将采取一切棘手的东西照顾。你唯一需要做的就是进入菜单栏并选择“Project - > ASP.NET Configuration”。这将启动一个用于创建用户和角色然后分配它们的GUI。它应该是一个非常自我解释的工具。这应该也符合你的web.config使用要求。

正如从这里上面所建议的,如果你有用户登录,你可以做这样的事情:

如果(User.IsInRole(“角色名”)) {//你wan't做什么。 }

另外(对你最好的atm)你应该尝试在你的工具箱中使用logInView控件(我认为这就是它的名字)做一些使用这些控件的搜索引擎,它会让你跨越界限。