asp.net 如何根据管理员和一班用户动态构建menu。用站点地图做为数据源(web.sitemap)

登录帐号时如何判断roles是管理员还是一般用户。比如说用文本控件登录,如何从数据库中传递过来是管理员还是一般用户。(用sitemapnode元素的roles属性判断)我... 登录帐号时如何判断roles是管理员还是一般用户。比如说用文本控件登录,如何从数据库中传递过来是管理员还是一般用户。(用 sitemapnode 元素的roles属性判断)我是菜鸟 写得有点菜了 还请高手多多帮忙 展开
 我来答
XYH_0830
2012-09-23 · 超过29用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:65.6万
展开全部
我一般都是在数据库中设置一个roles属性,在登录时就进行roles判断,再进行用户名和密码判断
更多追问追答
追问
那如何判断是roles是管理员 比如说:
判断roles是admin后menu中添加《管理界面》 其中 roles是如何判断传递过来的值(代码) 还请高手不吝啬 施舍下代码段 在此谢谢 研究了两天终究没明白
追答
dataSql dsql = new dataSql();
string str = "select * from Adiminis where 用户名='" + tBox_yhm.Text + "' and 角色='" + cBox_juese.SelectedItem.ToString() + "' and 密码='"+tBox_pwd.Text+"'";
object [] fields = dsql.GetDataReader(str);
if(fields!=null){ //说明记录存在
Session["roles"]=cBox_juese.SelectedItem.ToString() ;//把角色存储当进入到主界面时去判断
Response.Redirect("main.aspx");
}
然后在main界面加载你的菜单
Page_Load()这个方法中写
if(Session["roles"]=="管理员"){
Menu1.Items.Add(); //你想加的动态菜单。最好是嵌入一个新的完整菜单去替换会简单点。
}
我这是以前做的。思想是这样。你自己要多思考下,可能有的地方需要改进。不知道对你有帮助吗?谢谢
百度网友8b1b6824b
2012-09-23 · TA获得超过2121个赞
知道小有建树答主
回答量:554
采纳率:100%
帮助的人:302万
展开全部
可以在用户表中,加身份字段,比如管理员的记录里该字段=admin,普通用户则=user
登录时,查询该用户的身份字段,根据该字段值,判断是什么用户。
判断好用户后,进入不同的程序段即可动态构建menu,可以使用Menu1.Items.Add等。
追问
我是用web.sitemap   在里面选取需要的节点(根据权限)   能不能赞助点代码段
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微澜科技
2012-09-23 · TA获得超过522个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:442万
展开全部
一般的,用户表是要存储 管理权限的,可以分多级。动态构建菜单是要对每个页面或者说每个菜单做规定的,比如全局管理员有权限管理所有页面。部分管理员可以管理部分页面等,这些都是要在页面制定规则,或者有权限表对应每个页面需要什么样的权限来访问控制或者管理。你可以设定权限为整型数字,123456多级。定义每个页面访问的最低权限等级即可。登陆时,根据权限等级,读取对应权限的页面构建菜单。
追问
感觉模糊   能不能用代码解释下  就代码段就行了 (数据源选择web.sitemap)动态读取web.sitemap中的节点(根据权限)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨亚纪
2012-09-23
知道答主
回答量:44
采纳率:0%
帮助的人:30.8万
展开全部
可以在数据库中增加一个新的字段来判断是否是管理员。eg:isAdmin,类型:bool(true:管理员,falue:用户)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式