我有我的网站设置了2个不同的角色,然后当然是匿名的。 我有超链接让登录用户访问他们的帐户页面,但我希望每个角色都有相同的超链接。例ASP.NET C#超链接取决于角色
如果角色是管理我想要的链接“我的账户”去管理/ myaccount.aspx 如果角色是卖家我想链接“我的账户”转到卖方/ myaccount.aspx
我已经使用了一个链接按钮,并计划添加ifs到C#但我不确定如何根据角色做出一个任何想法?
马克
我有我的网站设置了2个不同的角色,然后当然是匿名的。 我有超链接让登录用户访问他们的帐户页面,但我希望每个角色都有相同的超链接。例ASP.NET C#超链接取决于角色
如果角色是管理我想要的链接“我的账户”去管理/ myaccount.aspx 如果角色是卖家我想链接“我的账户”转到卖方/ myaccount.aspx
我已经使用了一个链接按钮,并计划添加ifs到C#但我不确定如何根据角色做出一个任何想法?
马克
假设窗体身份验证 - 在IsInRole
System.Security.Principal.IPrincipal _user = System.Threading.Thread.CurrentPrincipal;
if (_user.IsInRole("admin"))
{
//Set link to admin link
}
else
{
//Set to other link
}
更多信息:在ASP.NET http://msdn.microsoft.com/en-us/library/system.security.principal.iprincipal.isinrole.aspx
嗨,Pepto感谢您的帮助。我已经插入了你添加的代码,但目前我有一个管理员用户,但它不适用于他们,只是使用else语句,我假设我必须在它之前添加一些东西,但不确定有什么想法? – Mark 2011-04-03 18:21:39
用于角色名称的字符串名称与您正在查找的内容完全匹配非常重要。如果使用表单身份验证,则通常由您自己的自定义角色提供程序分配。如果使用基于Window的身份验证,它通常以“BUILTIN \”开头。恐怕没有足够的空间来完全覆盖在校长上创建角色。请查看http://msdn.microsoft.com/en-us/library/wefzhcez(v=VS.71).aspx,以便在此主题上取得良好的开端 – Pepto 2011-04-04 08:18:03
两种方法,使用HyperLink控制:
我建议不要使用这种构造。例如,当用户获得新角色时,他依靠书签时可能看不到新帐户部分。你确定这是你想要的吗?为什么不为所有用户(/帐户)使用相同的URL,并让页面根据用户所处的角色自行定制?然后,您可以使用@Pepto下面的答案来自定义页面(显示或隐藏控件) – 2011-04-03 11:54:19