全部家产拿出来向诸位高手请教一个Membership中的profile 以及 权限控制的问题!

问题描述

1,就是当我的网站里面有好几个角色的时候,比如。老师和学生;那么老师的属性肯定和学生的属性不一样,那么这个时候我再添加信息的时候如何来区分不同的用户添加不同的profile呢?然后同样的是读取,修改信息的问题!2,就是我用Membership控制权限的时候,如果我现在有一个功能目录的xml文件,这个功能目录自然是对应的我项目里面的文件夹目录,那么我如何通过Membership来控制这个功能目录的xml文件,当我哪种角色的用户进来的时候,就显示该角色所有用的功能目录。3,就是Membership能否做到,我控制某个具体的功能,比如,我添加,删除这两个功能分别赋予两种不同的角色!这该如何去做?我的qq:411545730

解决方案

解决方案二:
不是很明白帮顶
解决方案三:
Memberrole组件
解决方案四:
该回复于2007-12-04 11:18:58被版主删除
解决方案五:
我们一般是这样做的,角色,权限,用户用户有一个角色,角色有权限然后判断每个操作的权限
解决方案六:
如果用自带成员角色管理要用Vs自动生成的数据库。感觉不方便,所以也没用。就用了Form验证。权限管理这块我还是用Session控制的。
解决方案七:
if(User.IsInRole("Administrators"))Administrators是一个角色,是在成员资格中定义的角色,也可以是if(User.IsInRole("Teachers"))或if(User.IsInRole("Students"))privatevoidBindData(){DataTabledataTable=newDataTable();dataTable.Columns.Add("UserName",typeof(System.String));dataTable.Columns.Add("City",typeof(System.String));dataTable.Columns.Add("Sex",typeof(System.String));dataTable.Columns.Add("BirthDay",typeof(System.DateTime));dataTable.Columns.Add("MSN",typeof(System.String));dataTable.Columns.Add("Address",typeof(System.String));dataTable.Columns.Add("Mobile",typeof(System.String));dataTable.Columns.Add("Phone",typeof(System.String));ProfileCommonprofile=null;DataRowdataRow=null;//遍历当前所有用户foreach(MembershipUseruserinMembership.GetAllUsers()){dataRow=dataTable.NewRow();dataRow["UserName"]=user.UserName;//获取指定用户Profileprofile=Profile.GetProfile(user.UserName);dataRow["City"]=profile.City;dataRow["Sex"]=profile.Sex;dataRow["BirthDay"]=profile.BirthDay;dataRow["MSN"]=profile.MSN;dataRow["Address"]=profile.Address;dataRow["Mobile"]=profile.Communication.Mobile;dataRow["Phone"]=profile.Communication.Phone;dataTable.Rows.Add(dataRow);}GridView1.DataSource=dataTable;GridView1.DataBind();}

解决方案八:
那里有Membership下
解决方案九:
以下是我的新书开发大全中的章节,正好与楼主第3条有关Personalize个性化事件在ASP.NET获取与当前请求关联(如会话状态)时发生,在应用程序的Globa.asax文件中的Profile_Personalize全局事件中,可以使用ProfileModule类的Personalize事件。Personalize事件用于指定自定义用户配置文件。假设一个系统中定义了Administrators、Users和Guests这三个角色,每个角色拥有的权限大小不一样,Administrators>Users>Guests,系统可能有成千上万个用户,不可能为每个用户都定义权限,给用户定义角色是最方便的选择。每个角色的权限存储在一个用户的Profile配置文件中,例如Administrators角色的权限存储在Administrator用户的Profile配置中。在Profile_Personalize全局事件中,根据角色将指定的用户(例如Adminstrator用户)Profile配置取出,赋予当前用户,具体的步骤如下:1.添加角色和用户可以使用网站管理工具添加Administrators、Uses、和Guests这三个角色,在网站管理工具中选择“安全→创建或管理角色”进行角色添加,如图21.10所示。图20.10为系统添加角色选择“安全→创建用户”,创建Administrator、User和Guest这三个角色,如图20.11所示。图20.11为系统创建用户2.为Profile添加字段在web.config中的<properties>节点中添加两个字段,一个是权限名称,一个是权限级别,如下:<properties><addname="PowerName"type="System.String"/><addname="PowerLevel"type="System.String"/></properties>3.为新增的用户设置权限在应用程序中添加一个页面,为页面添加三个DropDownList,分别是用户名称、角色名称和权限级别,分别为administrator、User、Guest添加角色名称和权限级别,如图20.12所示。图20.12设置用户的角色和权限级别4.定义Profile_Personalize事件在Global.asax文件中添加Profile_Personalize事件如下:publicvoidProfile_Personalize(objectsender,ProfileEventArgsargs){ProfileCommonuserProfile;if(User==null){return;}userProfile=(ProfileCommon)ProfileBase.Create(User.Identity.Name);if(User.IsInRole("Administrators"))userProfile=userProfile.GetProfile("Administrator");elseif(User.IsInRole("Users"))userProfile=userProfile.GetProfile("User");elseuserProfile=userProfile.GetProfile("Guest");if(userProfile!=null)args.Profile=userProfile;}在页面的Page_Load事件中的代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){Response.Write(string.Format("欢迎您:{0}<br/>您的角色是:{1}<br/>您的权限是:{2}<br/>",User.Identity.Name,Profile.PowerName,Profile.PowerLevel));}}下面可以测试一下效果,例如为名为jack的用户分配Administrators角色,然后使用jack用户名登录系统,输出结果如图20.13所示。图20.13jack登录系统
解决方案十:
楼主应该好好看看MSDN的文章了~~{从开头开,你就会对BS有更多的了解}

时间: 2024-12-09 16:34:00

全部家产拿出来向诸位高手请教一个Membership中的profile 以及 权限控制的问题!的相关文章

新人请教一个sscanf中的正则表达式的问题

问题描述 新人请教一个sscanf中的正则表达式的问题 比如一串字符我要取其中的数字,df3600sdf365dssdfwef2135fewe@35@#%dsaf54我用""%*[^0-9]%[0-9]""只能取到3600,""%*[^0-9]""也错误..应该怎么取啊 解决方案 正则 直接用 d+ 即可 解决方案二: 这个应该怎么写..求写法

c++-请教一个MFC中CDC的问题

问题描述 请教一个MFC中CDC的问题 请问下,CDC和CCLIENTDC这两个,如果用CDC的话必须GETDC才能得到DC是吧 如果是CCLIENTDC的话就不用了,直接构造一下就完了,如果释放的话,请问这两个都 需要手动释放吗? 解决方案 Get的就要Release,CCLIENTDC好像系统会自己回收不用手动删除. 解决方案二: CClientDC 类的析构函数会释放它 解决方案三: 请教一个SurfaceView 的问题

显示-小弟请教一个fragment中的点击问题

问题描述 小弟请教一个fragment中的点击问题 请教下..我主界面一个Activity中用的Tabhost上边用的ViewPager里面四个碎片..我怎么从第一个Fragment界面里面一个按键点击后变成第三个显示的Fragment,并且底下的TabHost也会随着改变.. 解决方案 ViewPager有SetCurrentItem,你传进去索引就行了

请教一个.net中对.txt文件操作的问题,请高手帮忙看一下!!

问题描述 下载推荐人配置文件introduce.txt,保存神州游游戏大厅的神州游游戏目录中.通过这台机器注册的所有游戏用户,您的帐号将成为默认推荐人.配置文件introduce.txt的保存路径:假设您的唐人游游戏大厅默认安装在C:ProgramFiles神州游游戏目录下,则推荐人配置文件为:C:ProgramFiles神州游游戏introduce.txt这个功能怎么实现呀,高手帮忙看一下呀,急呀!!! 解决方案 解决方案二:???解决方案三:下载推荐人配置文件introduce.txt,保存

成心向高手请教一个奇怪的问题

问题描述 刚学C#不久,碰到了一个很奇怪的问题.运行的时候不能得到正确的结果但是如果插入断点.单步执行就能得到结果.很奇怪.代码如下.usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingClassLib;namespace_4{publicclassProgram{publicint[]fivecards=newint[5];staticvoidMain(string[]args){Deckmydeck=newDec

向各位高手请教一个我很困惑的问题,呵呵,希望各位能帮帮我,谢谢

问题描述 最近在做一个网络设备厂商综合服务平台的设计,说白了就是个园区网.我是参考华为,但是所察到的知识很少.我对他的设计其实更多的是仿照一般企业来的,像销售啊行政啊什么的,都比较容易解决,可是,有三个部门,就是客服,投诉渠道和移动用户服务了解的比较少,对其结构也不很了解,各位前辈能帮我看一下这些部门该怎么样规划吗?谢谢大家了,呵呵 解决方案 解决方案二:可以先从服务管理(面向客户的)入手,比较容易一些.然后分期部署,一步一步推,慢慢的系统在使用的过程中,很多问题都暴露出来,更明确的需求也就有了

请教一个datalist中数据排序的问题

问题描述 如题:datalist中的'<%#Eval("id"),在页面中显示出来的值是随机排序的.比如:5314这样.如何才能将其显示为按大小顺序排列,我试过sql语句orderbyasc或者desc都不行,显示出来还是随机排序的.请问应该怎么修改啊 解决方案 解决方案二:orderbyiddesc不行吗?解决方案三:...ORDERBY[id]DESC解决方案四:不行的,我试试存储过程吧

请教一个关于java的项目问题

问题描述 请教一个关于java的项目问题 解决方案 类似的http://down.51cto.com/data/2009264http://download.csdn.net/detail/u010777420/5426033 解决方案二: 你自己先试着做呗,你先熟悉Java Web从前台到后端的流程,一块块地实现,自己实现的东西,即使碰到问题,自己解决,收获会很大的. 解决方案三: 这跟我前一段时间写的 差不多, 用 java web, 我博客里有内容分页实现,登录注册,类比的可以写出来这些,

请教一个用JAVA解决的问题

问题描述 请教一个用JAVA解决的问题 设有i批货,每批价值Vi,重Wi,用一个载重M的卡车装,怎么使卡车装价值最高的货物,这个怎么用JAVA解决?这个模型的有什么名字嘛? 解决方案 这就是背包算法 参考:http://blog.csdn.net/double501/article/details/5895201http://blog.sina.com.cn/s/blog_49f9904d01000auc.html 解决方案二: ??当我们用FtpClient的list函数得到了服务器的列表以后