我有我的網站設置了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