in your code, check the 用户权限, <uc;Control1 id=con1 runat=server />if (用户权限 is good)
con1.Visible = true;
else
con1.Visible = false;
or
if (用户权限 is good)
form1.Controls.Add(LoadControl(good.ascx"));
else
form1.Controls.Add(LoadControl("bad.ascx"));also see
Role-based Security with Forms Authentication
http://www.codeproject.com/aspnet/formsroleauth.asp
con1.Visible = true;
else
con1.Visible = false;
or
if (用户权限 is good)
form1.Controls.Add(LoadControl(good.ascx"));
else
form1.Controls.Add(LoadControl("bad.ascx"));also see
Role-based Security with Forms Authentication
http://www.codeproject.com/aspnet/formsroleauth.asp
//加载控件
Control purView = LoadControl("purView.ascx");
purView …
if(User.IsInRole("Admin")){
//在这里为角色Admin创建链接菜单
}
else if(User.IsInRole("Guest")){
//在这里为角色Guest创建链接菜单
}
}
---------------------------
http://www.webdiyer.com
if(User.IsInRole("Admin")){
//在这里为角色Admin创建链接菜单
}
else if(User.IsInRole("Guest")){
//在这里为角色Guest创建链接菜单
}
}
中给一个创建链接菜单的示例?谢谢!
根据用户权限的不同,加载相应的文件到ascx
这样你只需要修改相应的文件就可以配置用户的权限了
而这个文件中的"内容"应该包括该用户所有的功能(链接)
如:
guest文件
<模块1>
<链接1/>
<链接2/>
</模块1>
<模块2>
<链接5/>
<链接6/>
</模块2>
<asp:imagebutton id="IndexButton" runat="server" CausesValidation="False" ImageUrl="../images/Ni_Navigation_List.gif"></asp:imagebutton>public void IsDisplayList( bool _IsDisplayList )
{
IndexButton.Visible = _IsDisplayList;
}然后根据需要隐藏或者显示菜单.
<tbody id="purView" style="DISPLAY: none" runat="server">
<tr>
<td></td>
<td></td>
</tr>
…
</tbody>
</table>public void IsDisplay( bool isDisplay )
{
if ( isDisplay )
{
purView.Style["display"] = "block";
}
else
{
purView.Style["display"] = "none";
}
}
其实我的ascx中的链接和asam2183(三山)的差不多<DIV id="Layer2" onmouseover="MM_showHideLayers('Layer2','','show')" style="LEFT: 187px; VISIBILITY: hidden; WIDTH: 120px; POSITION: absolute; TOP: 130; HEIGHT: 83px"
onmouseout="MM_showHideLayers('Layer2','','hide')">
<TABLE class="trans2" height="47" cellSpacing="1" cellPadding="0" width="20%" border="0">
<TR>
<TD width="120">
<TABLE class="11t" style="WIDTH: 90px; HEIGHT: 16px" borderColor="#fffedf" cellSpacing="1"
cellPadding="1" width="90" align="center" bgColor="#8F8EBB" border="0">
<TR>
<TD vAlign="bottom" bgColor="#5B5993" height="18"><FONT face="Arial, Helvetica, sans-serif"><a href='/customeradmin/frmTeleUserSearch.aspx' class='topmnu'>AA管理</a></FONT></TD>
</TR>
<TR>
<TD vAlign="bottom" bgColor="#5B5993" height="18"><FONT face="Arial, Helvetica, sans-serif"><a href='/customeradmin/frmAdUserSearch.aspx' class='topmnu'>BB管理</a></FONT></TD>
</TR>
<TR>
<TD vAlign="bottom" bgColor="#5B5993" height="18"><FONT face="Arial, Helvetica, sans-serif"><a href='/customeradmin/frmAgent.aspx' class='topmnu'>CC管理</a></FONT></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</DIV>
<table height='30' border='0' align="center" cellpadding='0' cellspacing='0'
background='/images/bg_grid.gif'>
<tr>
<td height='30'>
<table align="center" border='0' cellspacing='0' cellpadding='0' background='/images/bg_grid.gif'>
<tr>
<td width="80%" style='BACKGROUND-IMAGE: url(/images/top_01.gif);BACKGROUND-REPEAT: repeat-x'>
<table border='0' cellpadding='0' cellspacing='0' background='/images/top_07.gif'>
<tr>
<td><img src='/images/top_10_short.gif'></td>
<td><img src='/images/spacer.gif' width='8' height='1'></td>
<td nowrap style='FILTER: DropShadow(Color=#444444, OffX=1, OffY=1, Positive=1)'><a href='default.aspx' class='topmnu'>首页</a></td>
<td><img src='/images/spacer.gif' width='8' height='1'></td>
<td><img src='/images/top_02.gif'></td>
<td><img src='/images/spacer.gif' width='8' height='1'></td>
<td nowrap style='FILTER: DropShadow(Color=#444444, OffX=1, OffY=1, Positive=1)'><font color="#ffffff"><a href='/Welcome.aspx' class='topmnu' onMouseOver="MM_showHideLayers('Layer1','','show')" onmouseout="MM_swapImgRestore();MM_showHideLayers('Layer1','','hide')">XX管理</a></font>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
function MM_showHideLayers() { var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
----------------------------------------
<script runat="server" Language="C#">
void CreateMenu(object src,EventArgs e){
NavMenu[] menus=new NavMenu[15];
menus[0]=new NavMenu("admin","菜单1-1","admin-1.aspx");
menus[1]=new NavMenu("admin,guest","菜单1-2","admin-2.aspx");
menus[2]=new NavMenu("admin","菜单1-3","page3.aspx");
menus[3]=new NavMenu("guest","菜单2-1","guestpage1.aspx");
menus[4]=new NavMenu("guest,admin,webdiyer","菜单2-2","guest2.aspx");
menus[5]=new NavMenu("admin","菜单2-3","test1.aspx");
menus[6]=new NavMenu("webdiyer","菜单3-1","newpage1.aspx");
menus[7]=new NavMenu("admin,webdiyer","菜单3-2","mypage.aspx");
menus[8]=new NavMenu("guest,webdiyer","菜单3-3","where.aspx");
menus[9]=new NavMenu("webdiyer","菜单4-1","good.aspx");
menus[10]=new NavMenu("webdiyer","菜单4-2","http://www.webdiyer.com");
menus[11]=new NavMenu("admin,webdiyer","菜单4-3","mypage3.aspx");
menus[12]=new NavMenu("guest,admin,webdiyer","菜单4-4","wheretogo.aspx");
menus[13]=new NavMenu("webdiyer,admin","菜单5-1","http://www.sina.com.cn");
menus[14]=new NavMenu("webdiyer,guest","菜单5-2","http://www.webdiyer.com");string role=ddl.SelectedItem.Text;
for(int i=0;i<menus.Length;i++){
if(Array.IndexOf(menus[i].UserRole.Split(','),role)>=0){
HyperLink link=new HyperLink();
link.Text=menus[i].Name;
link.NavigateUrl=menus[i].Url;
menupnl.Controls.Add(link);
menupnl.Controls.Add(new LiteralControl(" | "));
}
}
}public class NavMenu{
public string UserRole;
public string Name;
public string Url;public NavMenu(string _userRole,string _name,string _url){
UserRole=_userRole;
Name=_name;
Url=_url;
}
}
</script>
<HTML>
<HEAD>
<TITLE> Webdiyer 制造:) (www.webdiyer.com) </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer">
</HEAD><BODY>
<form runat="server">
<asp:DropDownList runat="server" id="ddl">
<asp:ListItem>admin</asp:ListItem>
<asp:ListItem>guest</asp:ListItem>
<asp:ListItem>webdiyer</asp:ListItem>
</asp:DropDownList>
<asp:Button runat="server" id="btn" Text="生成菜单" onclick="CreateMenu"/><p>
<asp:Panel runat="server" id="menupnl"/>
</form>
</BODY>
</HTML>